Я написал приложение, которое обрабатывает много данных при запуске;время первого запуска приложения довольно медленное, но то же самое происходит и при последующих запусках.
Раньше я думал, что относительно не отвечающие время запуска (~ 7 секунд) были из-за обработки данных при первой загрузке - немногоотладка предложила около 2 секунд для холодной загрузки.Поэтому я переработал свои структуры данных, чтобы их было легче сериализовать в постоянное хранилище между запусками (чтобы он кешировал данные), и теперь он сохраняет состояние, когда приложение заканчивается примерно через 20 мс, а время загрузки составляет около 10-20 мс.Намного лучше.(ps он не использует встроенную сериализацию Java, так как файлы состояний теперь настолько просты, что их легче сохранить в простом, читаемом (и редактируемом) текстовом файле - хотя это все еще довольно быстро при перезагрузке из этого!)
Тем не менее, я все еще нахожу, что время запуска приложения составляет около 5 секунд - я посмотрел в aLogCat, который имеет запись:
I/ActivityManager(...) blah blah blah: +5s193ms
Так что более 5 секунд, чтобы загрузитьотносительно простой макет (несколько вложенных LinearLayouts и несколько TextViews - ничего особенного и никаких изображений) - по общему признанию, время с последующими запусками сокращается (я закрываю приложение и открываю его снова, оно ~ 700 мс; промыть и повторить для получения аналогичных результатов).
оооочень мой вопрос: как я могу улучшить время загрузки приложения?Я рад, что загрузка first занимает немного времени, чтобы обработать все - это нормально.Но есть ли способ сохранить вещь в памяти или, по крайней мере, перевести ее в восстанавливаемое состояние, чтобы то, что делает ActivityManager, не занимало так много времени?Мне бы хотелось, чтобы это было что-то, что я могу открыть (вероятно, привязанный к долгому поиску или подобному), сделать что-нибудь и закрыть это снова - таким образом это должно открыться быстро!
Заранее спасибо:)
Себ