Подтвердить что ты не робот

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

Я не знаю, является ли проблема с AS 2.0 или gradle 2.0.0. Странно то, что он работает правильно на эмуляторе, он просто занимает время на устройстве. Таким образом, возможно возникновение проблемы с ОЗУ или обработки устройства, но я проверил его на 10-12 устройствах, и все устройства имеют одинаковую проблему.

Проблема возникает, когда я запускаю свое приложение в первый раз, а затем после того, как он работает как обычно и загружает активность запуска в течение нескольких секунд.

Может ли кто-нибудь помочь мне в этом?

4b9b3361

Ответ 1

Как документация описывают:

Instant Run подталкивает обновленный код и ресурсы к подключенному устройству или эмулятор, выполнив "горячую" замену, "теплую" или "холодную" замену. Это автоматически определяет тип подкачки для выполнения на основе типа изменений, которые вы сделали.

В документе также упоминается не ошибка с мгновенным запуском:

Когда вы развертываете чистую сборку, Android Studio подключает ваше приложение к позволяют мгновенно запускать код и обновления ресурсов. Хотя обновление запущенное приложение происходит гораздо быстрее, может потребоваться первая сборка дольше.

Вы можете улучшить процесс сборки, настроив несколько настроек DexOptions:

android {
  ...
  dexOptions {
    maxProcessCount 4 // this is the default value
    javaMaxHeapSize "2g"
  }
}

Ответ 2

В андроид-студии, откройте настройки. В строке поиска (диалог настроек) введите мгновенный запуск или Перейдите к сборке, выполнению, развертыванию > Мгновенный запуск и снимите все опции. Но, конечно, вы потеряете силу мгновенного запуска.

Ответ 3

Кажется, что-то проблема с ним, всякий раз, когда я запускаю свое приложение для первого время показывается/черный экран в течение 10-15 секунд.

Я думаю, у вас есть проблема Cold Start в вашем приложении.

Холодный старт:

Когда пользователь запускает приложение, Android создает новый процесс что во время зарядки отображается черно-белый экран, который построен с тема приложения или тема активности, которая является записью точка.

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

Решение:

  • Укажите android:windowBackground в теме приложения.
  • Добавить экран Splash в ваше приложение.

Для получения подробной информации, пожалуйста, проверьте http://saulmm.github.io/avoding-android-cold-starts

Спасибо.

Ответ 4

Измените свой путь к классу

classpath 'com.android.tools.build:gradle:2.0.0'

к вашей предыдущей версии сборки (например)

classpath 'com.android.tools.build:gradle:1.5.0'