#ios #performance #sqlite
#iOS #Производительность #sqlite
Вопрос:
У меня есть приложение для IPAD, разработанное около 10 лет назад. Все работает хорошо, за исключением времени отклика. Пользовательский интерфейс начал замедляться по мере перехода с IOS 9 на 10, а позже, когда появилась IOS 11, еще медленнее. Является ли переписывание всего кода лучшим вариантом? Или есть определенные области, на которых я могу сосредоточиться?
За эти годы я перенес наш код на последнюю версию XCode. Текущие сборки находятся на XCode 10. Пользователи также используют новейшие iPad.
Несколько вопросов, связанных с производительностью:
- Текущие устройства, сборки, библиотеки 64-разрядные. Возможно, в моей предыдущей реализации использовался какой-то 32-разрядный компонент, который может замедлять работу нашего приложения. Сетевой компонент не задействован. Просто локальная база данных и пользовательский интерфейс. Я пробовал использовать только сборку arm64 на iPad IOS11 без заметного улучшения
- В приложении используется база данных sqlite. Исходная база данных была создана 10 лет назад. Нужно ли переносить файл базы данных на новый sqlite? (Я имею в виду начать с совершенно нового файла sqlite?)
- Некоторое время назад я перешел с sqlite на библиотеку sqlite3 (link library). Я не вносил никаких изменений в класс или методы. Вызовет ли это замедление отклика?
- Я все еще использую старые файлы xib (не те, которые созданы из storyboard). Приведет ли это к замедлению?
Есть еще что-нибудь, на чем я могу сосредоточиться, чтобы попробовать?
Комментарии:
1. Вероятно, первое, что нужно сделать, это запустить инструмент профилирования времени. Также убедитесь, что вы включили средство проверки основного потока, которое будет предупреждать вас о любых обновлениях пользовательского интерфейса, которые не выполняются в основном потоке