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

Эта нагрузка может быть увеличена, если наше приложение является сложным и перезаписывает объект приложения, который обычно используется для инициализации аналитики, сообщений об ошибках и т. Д.

Решение:

  1. Уточнить android:windowBackground в вашей теме приложения.
  2. Добавьте заставку в ваше приложение.

Для получения подробной информации, пожалуйста, проверьте, 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"
  }
}
Другие вопросы по тегам