1

我刚刚开始编写一些简单的安卓应用程序。我想在我的主要活动上有全屏背景。我已经通过使用实现了这一点:

android:theme="@android:style/Theme.Black.NoTitleBar"

并在我的布局文件中设置特定背景。它有效,但并不完美:| 当我启动我的应用程序时,我看到没有任何背景的空白黑色主题大约 0.5 秒,然后我的背景加载。我见过一些商业应用程序,它们的后台加载没有任何延迟。谁能给我一些提示如何完成?

4

2 回答 2

2

恐怕这就是事情的运作方式。使用大图像将导致更长的加载时间(将图像解压缩为位图并将其绘制在屏幕上所需的时间)。

当然,您可以选择优化这一点。一个明显的方法是使用较小的图像。如果缩小的图像尺寸符合您的需要或看起来像素化,您将不得不权衡这样做的利弊。

您可以尝试的另一件事是使用平铺位图,这意味着您有一个小图像,如果您的应用程序可能的话,您可以垂直或水平重复该图像。

您甚至可以在开始时加载质量降低的图像,然后在 onCreate 之后启动后台任务以加载位图,然后在完成后用质量更好的图像替换初始图像。(我不推荐这种方法)

于 2013-10-13T18:24:59.547 回答
0

这个问题的原因是活动需要一些时间来呈现。窗口背景会在此之前设置

这是我面临的同样问题。我通过制作自定义主题来解决它。

<style name="SplashTheme" parent="Theme.Black.NoTitleBar">

    <item name="android:windowBackground">@drawable/splash_pattern_bg</item>

</style>

然后使用

android:theme="@style/SplashTheme"

这将解决您的问题。

于 2017-09-06T11:48:29.817 回答