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

删除加载“撰写”应用时白色背景的初始闪烁

公胤运
2023-03-14

我已经使用了主变体颜色作为整个应用程序的背景,但仍然在UI最初加载时看到了一个白色屏幕。有什么办法吗?

编辑:我创建了一个新的空项目,并应用了@Philip Dukhov的bellow建议。还是一样的结果。在Surface开始加载之前,白屏首先出现,并在屏幕上停留至少两秒钟。

class MainActivity : ComponentActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContent {
            SOIssueReproduceTheme {
                Surface(
                    color = MaterialTheme.colors.primaryVariant,
                    modifier = Modifier.fillMaxSize()
                ) {
                    Greeting("Android")
                }
            }
        }
    }
}

@Composable
fun Greeting(name: String) {
    Text(text = "Hello $name!")
}

感谢您的帮助!

共有2个答案

羊舌承
2023-03-14

不行。这是Android渲染它的UI所花费的时间。无论你做什么,都会表现出来。现在,有几件事可能会有帮助。

使用最佳实践来开发您的应用程序、延迟初始化、委托等。

最终,可以从后端添加进一步的改进,减少渲染时间

RAM较大的设备加载时间较短。

通常,是您的低效代码导致了问题,只需遵循最佳实践,您应该是好的。这是因为如果您的应用程序高效,用户就不会抱怨渲染时间慢,因为高端设备的用户不会面临问题,而低端设备的用户将面临每个应用程序的问题,因此他们会知道问题出在他们的设备上。

公良鸿光
2023-03-14

我已经找到了解决这个问题的办法。我们可以通过从如下主题向窗口添加背景色来避免这种白色闪烁:

res/价值观/主题/themes.xml

<style name="Theme.OfflineCaching" 
    parent="Theme.MaterialComponents.DayNight.DarkActionBar">
        ...
        <item name="android:windowBackground">@color/purple_700</item>
</style>

在明暗主题的两个主题文件上都设置此选项。

 类似资料:
  • 以下是我如何调用DialogFragment: 以下是(部分)我的DialogFragment是如何创建的: 这是我的DialogSelectAccount的xml 问题是始终显示一个无害的白色背景,如下所示。如何删除它?

  • 我在Android上的闪屏有问题。在长时间的应用程序启动过程中会向用户显示闪屏,但activity背景始终为黑色。我的意思是背景位图(飞溅图像)是可见的,但背景是黑色而不是白色。我用的是透明的PNG图像。 我所拥有的: 带有透明背景的PNG闪屏图像 闪屏activity 问题:正如你所看到的,我使用theme.holo.light作为父主题,并且我在应用程序的其余部分中使用它。全息光使用白色背景。

  • 每次我的应用程序启动时,都会在短时间内显示白色背景。尽管使用了闪屏,问题仍然存在。我想设置启动屏幕为黑色而不是白色默认! 这是我的splash的屏幕活动:

  • 我是Android新手。我有一个加载URL的web视图。问题是,在我打开应用程序后,网页浏览器的URL被加载后,有2-3秒钟的白屏。 我认为这是应用程序启动的时间。如何移除白色屏幕并显示我的徽标?我听说过闪屏,但标志显示1秒,然后白色屏幕显示2-3秒,最后加载web视图。 我做错了什么?在加载web视图时,是否使用启动屏幕或其他方式显示徽标? splashActivity.java Android

  • 我正在尝试为我的项目创建一个台球游戏,我很难同时添加棍子和球。此外,当我添加球时,JFrame的背景变成白色,它实际上应该是绿色(桌子的颜色)。 非常感谢你的帮助。 我试着使用。例如。这不管用

  • AndroidManifest.xml: MainActivity.java: activity_main.xml: 这是一个非常简单的应用程序,几乎和它生成时一样。 我还用这个https://stackoverflow.com/a/14115809/1344937去掉了标题。 当我打开应用程序时,不到一秒钟就会出现一个白色屏幕,然后蓝屏出现。我该如何改变这一点?