Время, затраченное на первый запуск с AS 2.0 и Gradle 2.0
Недавно я обновился Android Studio
от 1.5
в 2.0
,
С этим я пользуюсь gradle 2.0.0
classpath 'com.android.tools.build:gradle:2.0.0'
Но, похоже, с этим возникает некоторая проблема: всякий раз, когда я запускаю свое приложение в первый раз, оно показывает пока / черный экран в течение 10-15 секунд.
Я ничего не делаю в классе ApplicationClass или Launcher, но это также занимает много времени.
Я не знаю, является ли это проблемой с AS 2.0
или же Gradle 2.0.0
, Странно то, что он работает правильно на эмуляторе, просто требует времени на устройстве. Таким образом, может быть возможность возникновения проблем с оперативной памятью устройства или обработкой, но я проверил это на 10-12 устройствах, и все устройства имеют одинаковую проблему.
Проблема возникает, когда я запускаю свое приложение в первый раз, затем после того, как оно работает как обычно и загружает активность средства запуска в течение доли секунды.
Может кто-нибудь, пожалуйста, помогите мне в этом?
4 ответа
Кажется, с этим возникает проблема: всякий раз, когда я запускаю свое приложение в первый раз, оно показывает, пока / черный экран, в течение 10-15 секунд.
Я полагаю, у вас есть проблема с Cold Start в вашем приложении.
Холодный запуск:
Когда пользователь запускает приложение, Android создает новый процесс, который во время зарядки показывает черно-белый экран, созданный с темой приложения, или тему действия, которая является точкой входа.
Эта нагрузка может быть увеличена, если наше приложение является сложным и перезаписывает объект приложения, который обычно используется для инициализации аналитики, сообщений об ошибках и т. Д.
Решение:
- Уточнить
android:windowBackground
в вашей теме приложения. - Добавьте заставку в ваше приложение.
Для получения подробной информации, пожалуйста, проверьте, http://saulmm.github.io/avoding-android-cold-starts
Благодарю.
В андроид студии откройте настройки. В строке поиска (диалоговое окно настроек) введите мгновенный запуск или перейдите к пункту Построение, Выполнение, Развертывание> Мгновенный запуск и снимите все параметры. Но, конечно, вы потеряете силу мгновенного бега.
Измени свой путь к классу
classpath 'com.android.tools.build:gradle:2.0.0'
к вашей предыдущей версии сборки (например,)
classpath 'com.android.tools.build:gradle:1.5.0'
В документации описывают:
Мгновенный запуск передает обновленный код и ресурсы на подключенное устройство или эмулятор, выполняя "горячую", "горячую" или "холодную" замену. Он автоматически определяет тип свопа для выполнения на основе типа внесенного вами изменения.
Также в документе упоминается, что это не ошибка при мгновенном запуске:
Когда вы развертываете чистую сборку, Android Studio использует ваше приложение для мгновенного запуска обновлений кода и ресурсов. Хотя обновление запущенного приложения происходит намного быстрее, первая сборка может занять больше времени.
Вы можете улучшить процесс сборки, настроив несколько параметров DexOptions:
android {
...
dexOptions {
maxProcessCount 4 // this is the default value
javaMaxHeapSize "2g"
}
}