如何避免在Android应用程序加载时出现黑屏?我已将所有东西从onCreate移到AsyncTask中,但仍然在开始时有黑屏。我的默认(第一个)活动是Main,如果有一个参数,我会立即加载Personal活动而不显示Main,否则我会显示Main活动。是否有人能为我提供解决方案?
我尝试过http://blog.iangclifton.com/2011/01/01/android-splash-screens-done-right/,但没有帮助。
我不确定。
但是,在你的activity
中的Manifest
中尝试这个:...
android:theme="@android:style/Theme.Translucent"
或者。android:theme="@android:style/Theme.Light"
我看到了一个不错的启动画面解决方案...希望它有用
<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>
优化您的代码,尽量减少在onCreate()中的代码。我曾经也遇到过这个问题,通过减少onCreate()中的代码,我解决了这个问题。
祝你好运!
既然您已经清除了onCreate()并将初始化任务分配给工作线程,那么您的应用程序启动后屏幕仍然保持黑暗一段时间的事实可能是由于初始显示中图形的复杂性(而不是您的初始化代码,这可能与模型相关,而不是视图相关)。
您说适用于您的解决方案是使用可见背景作为您的主题。我很高兴您发现这足够了,但对于某些目的,更具体的(例如,标志/应用程序名称)闪屏(因为它使用更简单的图形而快速显示)可能更理想。
请参阅下面链接的答案,其中包含如何实现快速显示的闪屏的详细说明(带有示例代码):
这也讨论了您接受的方法。