我刚刚开始编写一些简单的Android应用程序。我想在我的主要活动上有全屏幕背景。我通过使用:
完成了 android:theme="@android:style/Theme.Black.NoTitleBar"
并在我的布局文件中设置特定背景。它有效但不完美:|当我启动我的应用程序时,我看到空白的黑色主题没有任何背景约0.5秒,然后我的背景加载。我见过一些商业应用程序,它们的后台负载没有任何延迟。任何人都可以给我一些提示如何完成这项工作?
答案 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"
这将解决您的问题。