Android 运行调试变量时开始时出现白色屏幕
最近,我注意到运行我的应用程序的Android 运行调试变量时开始时出现白色屏幕,android,debugging,android-studio,android-build,Android,Debugging,Android Studio,Android Build,最近,我注意到运行我的应用程序的debug是我第一次运行的变体-这意味着第一次安装它时,一个白色屏幕出现在启动屏幕之前,它在Nexus 6上停留了相当长的时间~15秒 如果清除数据并再次运行,也会发生这种情况 起初我认为这是任何补丁的副作用,所以我回到了正在出版的修订版 但同样的事情发生了。虽然如果我从播放安装,它工作正常 所以,我运行了一个“发布”版本,瞧!它工作正常。这显然不是由应用程序类或任何其他代码更改引起的,因为这也会发生在发行版中 这显然也不同于其他地方提到的简短的白屏问题,如()所
debug
是我第一次运行的变体-这意味着第一次安装它时,一个白色屏幕出现在启动屏幕之前,它在Nexus 6上停留了相当长的时间~15秒
如果清除数据并再次运行,也会发生这种情况
起初我认为这是任何补丁的副作用,所以我回到了正在出版的修订版
但同样的事情发生了。虽然如果我从播放安装,它工作正常
所以,我运行了一个“发布”版本,瞧!它工作正常。这显然不是由应用程序类或任何其他代码更改引起的,因为这也会发生在发行版中
这显然也不同于其他地方提到的简短的白屏问题,如()所示:
因此,当我按建议将透明主题
应用于飞溅
时,点击应用程序后,手机屏幕冻结,相同时间内没有触摸,然后飞溅显示
不知道为什么更改为debug
会导致如此大的问题。为什么只有第一次跑步 这是因为您使用的是Android studio instant run
您可以这样禁用它:
<style name="SplashTheme" parent="Theme.AppCompat.NoActionBar">
<item name="android:windowBackground">@drawable/background_splash</item>
</style>
属性->即时运行->取消选中“启用即时运行…”
根据我的经验,当您使用应用程序时,请忽略这一点,但当您向客户/测试人员提供构建时,请进行签名构建,并在您的设备中进行检查,以解决此问题。尽管如此,我还是找到了调试的完美解决方案,直到您可以使用它。(这只发生在API 24及更高版本中)。制作一个名为background\u splash的可绘制图形
<?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>
然后在“样式”中添加如下样式:
<style name="SplashTheme" parent="Theme.AppCompat.NoActionBar">
<item name="android:windowBackground">@drawable/background_splash</item>
</style>
@可绘制/背景\u飞溅
然后在清单中的活动中添加样式
<activity
android:name=".SplashActivity"
android:theme="@style/SplashTheme">
您还可以检查android性能模式:
如果您在清单文件中放入了android:debuggable=“false”
换成
android:debuggable="true"
或
属性->即时运行->取消选中“启用即时运行…”属性->即时运行->取消选中“启用即时运行…”关闭即时运行
检查此链接可能会有所帮助。您可以通过设置自定义主题来处理此链接。不要直接设置启动我不明白您想说什么。但是禁用ing instant run解决了这个问题。是的,我的意思是从android studio生成签名版本。这是一项额外的工作。尽管问题和解决方案已经确定。不,这是错误的,我使用的是android studio 2.2.3,首先我还以为这是因为instant run,但事实并非如此。对不起,兄弟。@AJay disabling instant run为我解决了问题,所以我接受了。