Сегодня я выпустил первую бета-версию своего iPhone-приложения на TestFlightApp. Все идет очень хорошо, пока я не заметил, что отзывчивость приложения довольно грубая. Конечно, у меня нет «приятного» родного чувства, к которому я иду.Оптимизация производительности на iPhone
Я был особенно сообразителен в отношении распределения/освобождения памяти, поэтому я не думаю, что это проблема. В принципе, я не знаю, куда обратиться к следующему, чтобы улучшить производительность моего приложения.
Вот где я думаю, что некоторые из моих замедление может быть приписано:
Использование UIAppearance, чтобы настроить внешний вид большинства (если не всех) элементов пользовательского интерфейса. Я использую новый шрифт, множество CAGradientLayers и множество изменений для CALayer, чтобы рисовать красивые тени.
Сгруппированные UITableViewCells, которые отображают изображения карты и подробные списки.
UITableViewCells, макеты которых обновляются каждый раз, когда я вызываю layoutSubviews.
UITableViewCells с индивидуальными высотами. Для каждого вызова heightForRowAtIndexPath мне нужно восстановить и переформатировать вид, возвращая точную высоту каждый раз.
Поскольку я программно создавал представления, контроллеры с более длинными вызовами viewDidLoad имеют тенденцию загружаться медленнее. Какой код можно компенсировать при вызове init?
Есть ли у кого-нибудь какие-либо намеки или советы по решению этих проблем? Или, может быть, у людей есть истории о том, как они имели дело с замедлением производительности, когда они выпустили свое первое приложение?
Вы загружаете изображения в свой UITableViewCell асинхронно? –
Да, я знаю. Это асинхронные вызовы на мой сервер. –
Вы делаете какую-либо форму обработки фона? – Magnus