Итак, у меня в настоящее время есть класс GridView, который, по сути, выглядит так. Это подкласс UIView, который имеет промежуточную область, в которой есть множество подпредставлений, размещенных в виде сетки. Каждая ячейка GridView представляет собой пользовательский подкласс UIView, который вызывает drawRect.
Я реализовал отложенную загрузку, следуя шаблону UITableView. Я только загрузил и добавил ячейки сетки, которые были видны (+/- 2 ячейки с каждой стороны). По мере прокрутки представления я кеширую ячейки, которые больше не видны в NSMutableSet, а также повторно использую ячейки из этого набора для построения ячеек, которые теперь видимы. Все в этом, кажется, работает нормально, как я тестировал и профилировал, без утечек памяти.
Проблема в том, что прокрутка слишком медленная / прерывистая. Чем быстрее пользователь прокручивает, тем он круче. Иногда, если вы прокручиваете очень быстро, выдается предупреждение памяти. После некоторой работы по отладке, я обнаружил, что когда она начинает зависать и дергаться, подвиды в gridview не удаляются, как они должны
Я также заметил, что прокрутка на iPad 1 значительно медленнее, чем на iPad 2.
Мои вопросы: есть ли у кого-нибудь идеи, как с этим справиться? Какие-нибудь хитрости или оптимизации, чтобы остановить тряску прокрутки? На этом этапе все могло бы помочь, так как я пытался понять это в течение 2 дней. Заранее спасибо