Как увеличить время отклика для старого приложения для IPAD

#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. Вероятно, первое, что нужно сделать, это запустить инструмент профилирования времени. Также убедитесь, что вы включили средство проверки основного потока, которое будет предупреждать вас о любых обновлениях пользовательского интерфейса, которые не выполняются в основном потоке