我的应用程序加载时如何避免Android中的黑屏?

时间:2012-01-11 10:15:58

标签: android android-widget android-windowmanager

如何在我的应用加载时避免Android中的黑屏?我已经从onCreate删除了所有东西到AsyncTask,但我仍然在开头有黑屏。我的默认(第一个)活动是Main,如果有一个参数,我暂时加载个人活动,显示Main,否则我显示Main活动。谁能建议我解决方案? 我试过http://blog.iangclifton.com/2011/01/01/android-splash-screens-done-right/,但没有帮助。

4 个答案:

答案 0 :(得分:19)

我不确定。

但是,请在Manifest

中的 activity 中试试
android:theme="@android:style/Theme.Translucent" 

android:theme="@android:style/Theme.Light"

我已经看到了关于启动画面的一个很好的解决方案......希望它有用

https://stackoverflow.com/a/8654361/762919

答案 1 :(得分:14)

在样式标记的android style.xml文件中添加以下行。

 <item name="android:windowDisablePreview">true</item>

完整代码:

 <style name="AppBaseTheme" parent="android:Theme.Light.NoTitleBar">
    <!--
        Theme customizations available in newer API levels can go in
        res/values-vXX/styles.xml, while customizations related to
        backward-compatibility can go here.
    -->
    <item name="android:windowDisablePreview">true</item>
</style>

答案 2 :(得分:2)

优化你的代码,尝试减少onCreate()中的代码,这是我遇到的问题,我通过减少onCreate()中的代码来解决它。

最好的运气

答案 3 :(得分:0)

由于您已清除了onCreate()并将初始化任务分配给工作线程,因此在启动应用程序后屏幕仍然保持黑暗一段时间的事实可能是由于图形的复杂性在初始显示中(而不是初始化代码,可能与模型相关,而不是与视图相关)。

您所说的解决方案是使用可见背景作为主题。我很高兴你发现这是足够的,但出于某些目的,一个更具体的(例如,徽标/应用程序名称)启动画面(由于它使用更简单的图形而快速显示)将更加可取。

请参阅下面链接的答案,以获取有关如何快速显示快速启动画面的详细说明(包含示例代码):

Create a true splash screen

这也讨论了您上面接受的方法。