Итак, я недавно внес некоторые изменения в одно из своих табличных представлений и заметил, что при перезагрузке ячеек (возвращающихся на экран тем или иным образом) наблюдается отставание от четверти до половины секунды. Я решил, что буду использовать хороший встроенный в Xcode 4 профилировщик. Что я обнаружил, так это то, что во время этих пиков большую часть времени бега проводят в gzopen и png_read_filter_row
Я отслеживал эти функции в дереве вызовов viwer вплоть до основного, и его никогда не было в моем реальном коде. Единственная сомнительная вещь, которую я делаю, это маленькие файлы изображений (по 1 на ячейку) каждый раз, когда вызывается cellForRowAtIndexPath.
Я думаю, мой вопрос таков:
- Является ли файловый ввод / вывод медленным, чтобы я переключился на кэширование этих изображений в памяти, а не в файловой системе?
- Как я могу выяснить, что именно так сильно тормозит мое приложение, используя инструмент профилирования?
Спасибо!