当前位置: 首页 > 知识库问答 >
问题:

运行调试变体时,开始时为白色屏幕

夏侯枫
2023-03-14

最近,我注意到运行我的应用程序的debug变体我的第一次-这意味着安装它的第一次,一个白色的屏幕显示在闪屏之前,它停留相当长的时间〜15秒在Nexus 6

如果我清除数据并再次运行,也会发生这种情况。

起初我认为这是任何补丁的副作用,所以我回到了工作发布的版本。

但同样的事情发生了。虽然如果我从播放安装,它工作正常。

所以,我运行了一个“发布”版本,瞧!它工作正常。这显然不是由应用程序类或任何其他代码更改引起的,因为发布版也会发生这种情况。

这显然也与其他地方提到的简短的白屏问题不一样,比如这个(线程):所以当我按照建议将透明主题应用到闪屏时,在点击应用程序后,手机屏幕冻结了,没有触摸工作在同样的时间里,飞溅出现了。

不知道为什么更改为debug会导致这么大的问题。为什么只有第一次跑步。

共有3个答案

诸葛亮
2023-03-14

做一个像这样的画,名字background_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>

然后在清单中的活动中添加您的风格

<activity
    android:name=".SplashActivity"
    android:theme="@style/SplashTheme">

更多信息:启动屏幕的正确方式

你还可以查看android性能模式epods:android性能模式

夹谷山
2023-03-14

根据我的经验,当你使用应用程序时,请忽略这件事,但是当你向客户端/测试人员提供构建时,请在您的设备中进行签名构建并检查相同的问题解决方案。尽管如此,我还是找到了调试的完美解决方案,直到你可以使用它。(这只发生在API 24和更高版本)。

孙夕
2023-03-14

这是因为你使用Android Studio即时运行。

您可以这样禁用它:

属性-

 类似资料:
  • 当我点击应用程序图标并开始运行应用程序时,它会出现一个白色屏幕1秒。我不知道为什么。有没有办法清除这个白色屏幕,直接进入我的活动?

  • 当我启动我的应用程序时,我会看到一个白色的屏幕,几秒钟后就会出现闪屏。 我想知道我的应用程序的大小是否会影响它(它是17.7MB)。或者是因为我的测试机是旧的(HTC欲望高清),有点垃圾与太多的数据? 还是正常行为?或者问题在我的代码里,在下面... 舱单的一部分: 飞溅活动: 谢谢

  • 众所周知,许多Android应用程序在其第一个进入焦点之前会短暂地显示一个白色屏幕。在以下情况下会出现此问题: > 在启动屏幕前显示默认预览窗口的Android应用程序。 设置显然在这里不起作用。也不能将闪屏的父主题设置为如这里所述,因为[不幸地]我的闪屏使用了一个。 同时,不扩展类的应用程序在启动时不会显示白色屏幕。 问题是,理想情况下,对象中执行的初始化需要在显示第一个之前进行。因此,我的问题

  • 我的有问题,当我在手机上启动应用程序时,它会显示约0.5秒的白色屏幕。扩展了,在中,我声明为启动器,肖像模式为。 代码: XML:

  • 在游戏开始之前,我想显示一条消息,说“游戏开始!”。消息从左到右穿过屏幕,只有当消息已经消失时,游戏才开始。 我遇到的问题是,lifeTable的实例化需要时间,GameScreen在实例化完成之前就开始运行。我解释说: 当我禁用lifeTable时,一切都运行得很顺利,“游戏开始了!”消息从左到右穿过屏幕,游戏开始。 当我启用lifeTable时,当我按下MainMenueScreen中的“Ne

  • 我使用一个空活动为我的应用程序创建了一个启动屏幕,该活动在背景图像中保持可见3秒钟。通常,应用程序在背景图像变为可见之前以白色屏幕启动,然而,有些应用程序已经以“真实”的初始屏幕图像启动。如何实现这一点?