即时加载活动背景

时间:2013-10-13 17:54:09

标签: android

我刚刚开始编写一些简单的Android应用程序。我想在我的主要活动上有全屏幕背景。我通过使用:

完成了

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

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

2 个答案:

答案 0 :(得分:2)

恐怕是事情如何发挥作用。使用大图像会导致更长的加载时间(将图像解压缩到Bitmap并在屏幕上绘制所需的时间)。

您可以选择优化此选项。一个显而易见的是使用较小的图像。如果缩小的图像尺寸符合您的需要或看起来像素化,您将不得不权衡这样做的优点/缺点。

你可以尝试的另一件事是使用Tiled位图,这意味着你有一个小图像,你可以在你的应用程序中垂直或水平重复。

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

答案 1 :(得分:0)

此问题的原因是活动需要一些时间来渲染。窗口背景将在此之前设置

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

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

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

</style>

然后使用

android:theme="@style/SplashTheme"

这将解决您的问题。