Как исправить белый экран в приложении Запуск?

У меня есть приложение для Android, которое отображает белый экран в течение 2 секунд при запуске. Мои другие приложения этого не делают, но это делает. Я также внедрил splashscreen с надеждой, что он исправит это. Должен ли я увеличить время сна заставки? Благодарю.

Solutions Collecting From Web of "Как исправить белый экран в приложении Запуск?"

Просто укажите прозрачную тему для начальной активности в файле AndroidManifest.xml.
Подобно:

 <activity android:name="first Activity 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> 

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

<item name="android:windowDisablePreview">true</item>

Сделайте стиль в вашем стиле.xml следующим образом:

 <style name="Theme.Transparent" parent="Theme.AppCompat.Light.NoActionBar"> <item name="android:windowNoTitle">true</item> <item name="android:windowActionBar">false</item> <item name="android:windowFullscreen">true</item> <item name="android:windowContentOverlay">@null</item> <item name="android:windowIsTranslucent">true</item> </style> 

И использовать его с вашей деятельностью в AndroidManifest как:

 <activity android:name=".ActivitySplash" android:theme="@style/Theme.Transparent"> 

Введите описание изображения здесь

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

Сначала создайте XML-чертеж в res / drawable.

 <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@color/gray"/> <item> <bitmap android:gravity="center" android:src="@mipmap/ic_launcher"/> </item> </layer-list> 

Затем вы установите это как фоновый фон вашей всплеска в теме. Перейдите к файлу styles.xml и добавьте новую тему для вашей активности всплеска

 <resources> <!-- Base application theme. --> <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <!-- Customize your theme here. --> </style> <style name="SplashTheme" parent="Theme.AppCompat.NoActionBar"> <item name="android:windowBackground">@drawable/background_splash</item> </style> </resources> 

В новом SplashTheme установите атрибут фона окна для вашего XML-ресурса. Настройте это как свою тему активности всплеска в вашем AndroidManifest.xml:

 <activity android:name=".SplashActivity" android:theme="@style/SplashTheme"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> 

Эта ссылка дает то, что вы хотите. Шаг за шагом процедура. https://www.bignerdranch.com/blog/splash-screens-the-right-way/

Вы должны прочитать эту замечательную статью Кирилла Моттье: запуск Android-приложений стал великолепным

Вам нужно настроить свою Theme в style.xml и не настраивать в своем onCreate как ActionBar.setIcon / setTitle / etc.

См. Также Документацию по рекомендациям по производительности от Google.

Используйте Trace View и Hierarchy Viewer чтобы увидеть время для показа ваших просмотров: оптимизация производительности и производительности Android на Android

Используйте AsyncTask для отображения некоторых видов.

Это приложение AppTheme в примере приложения:

 <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <item name="android:windowIsTranslucent">true</item> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorAccent">@color/colorAccent</item> </style> 

Как вы можете видеть, у меня есть цвета по умолчанию, а затем я добавил android:windowIsTranslucent и установил его в true .

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

Ответ user543 идеально подходит

 <activity android:name="first Activity 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> 

Но:

You'r LAUNCHER Активность должна продлить действие, а не AppCompatActivity по умолчанию!

Это можно зафиксировать, установив тему в манифесте как

 <activity android:name=".MySplashActivityName" 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> 

И после этого, если вы получаете
Java.lang.IllegalStateException: вам нужно использовать тему Theme.AppCompat (или потомок) с этим действием.
То вам может потребоваться расширить Activity вместо AppCompatActivity в вашей MySplashActivity.

Надеюсь, поможет!

Оба свойства работают, используя любой из них.

  <style name="AppBaseThemeDark" parent="@style/Theme.AppCompat"> <!--your other properties --> <!--<item name="android:windowDisablePreview">true</item>--> <item name="android:windowBackground">@null</item> <!--your other properties --> </style> 

Белый фон исходит из Apptheme. Вы можете показать что-то полезное, как ваш логотип приложения, а не белый screen.it можно сделать с помощью пользовательской темы. В вашем приложении Theme просто добавьте

 android:windowBackground="" 

атрибут. Значением атрибута может быть изображение или многоуровневый список или любой цвет.

Вы должны отключить настройки Instant Run android studio.

Файл> Настройки> Сборка, выполнение, развертывание> Мгновенный запуск unCheck всех доступных там параметров.

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