Android Studio 2.0 - пауза/белый экран при первом запуске приложения
Поскольку обновление до Android Studio 2.0 (стабильное), я заметил проблему, которой не было в предыдущей версии Android Studio 1.5, установленной мной.
Я работаю над текущим проектом, который я бы построил (отладочную версию) и запускал, как на реальном устройстве, так и на эмуляторе, я делал это в Android Studio 1.5.
С момента обновления Android Studio 2.0 всякий раз, когда я делаю сборку (отладку) одного и того же проекта/приложения и запускаю ее, я заметил, что я нахожу паузу на устройстве или эмуляторе. Я получаю белый экран в течение нескольких секунд до того, как приложение откроется, чего у меня не было в AS 1.5, приложение сразу откроется, не будет паузы, нет белого экрана - это произойдет, если телефон подключен через ADB, или отключен от сети. Если приложение все еще находится в памяти телефона, оно открывается сразу, но если телефон перезагружен, я получаю паузу и белый экран при открытии приложения.
Является ли это их решением? Кто-нибудь еще испытал это? Я могу быть немного преждевременным с этим, так как я еще не сделал выпускную сборку, однако это кажется странной проблемой - если это проблема!
Edit:
Я использую Instant Run, однако это происходит независимо от того, подключено или нет устройство. Будет ли Instant Run иметь значение для его выполнения, если он не был подключен?
Update:
Как показано ниже, отключить опции "Instant Run" в Android Studio 2.0 устраняет проблему. Интересно, однако, что комментарии предполагают, что при использовании размеров Instant Run APK меньше. Что это значит? Может ли быть, что Instant Run использует старый Dalvik/JIT-компилятор, а не ART? Это может объяснить разницу размеров Apk и задержку (Dalvik компилируется на лету - JIT). Также АРТ необходимо будет установить/скомпилировать каждый раз, когда приложение было выполнено, что означает, что его размер Apk будет больше и будет медленнее выполнять, как это имеет место.
Надеюсь, кто-то с большим опытом и знаниями, возможно, сможет подтвердить или развенчать это.
Ответы
Ответ 1
Проверьте изображение для справки
Отключите мгновенный запуск в настройках.
Файл> Настройки> Сборка, Развертывание> Мгновенный запуск
Отмените выбор всех параметров, показанных там.
Теперь проблема белого экрана решена.
В Android Studio 2.0 размер моего APK был 16 МБ при использовании Instant Run
Без использования Instant Run стало 27 МБ.
В то время как в 1.5.. размер был 27 МБ.
Мгновенный бег - виновник.
- Белый экран Issue/Instant Run предназначен только для отладочных сборок. Проблема не повлияет на сборки выпуска.
Ответ 2
Нет необходимости вообще, Если вы попытаетесь отменить выбор всех параметров в настройках. Файл > Настройки > Сборка, развертывание > Мгновенный запуск, ваше приложение получит большой размер на устройстве. (На вашем устройстве goto Настройки → Приложение → Смотрите ваше приложение в большом размере, чем обычно. В этом случае, чтобы избежать белого экрана при запуске приложения, в AndroidMenifest.xml при первом действии добавьте:
"android:theme="@android:style/Theme.Translucent.NoTitleBar"
Например:
<activity
android:name=".WelcomeScreen"
android:label="@string/app_name"
android:theme="@android:style/Theme.Translucent.NoTitleBar" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".SplashActivity" />
В этом примере WelcomeScreen - это моя первая начальная активность.
Благодарим вас!