Android启动应用程序时显示白屏几秒钟?

时间:2016-06-26 04:15:56

标签: android android-studio

我没有调用任何Url请求该应用显示简单的启动画面。 我已经禁用了即时运行,但仍然会发出警告。

06-26 09:26:05.022 8709-8709 / saurav.com.navigation_drawer I / art:延迟启用-Xcheck:jni

06-26 09:26:05.144 8709-8709 / saurav.com.navigation_drawer W / System:ClassLoader引用未知路径:/data/app/saurav.com.navigation_drawer-1/lib/arm

06-26 09:26:15.383 8709-8709 / saurav.com.navigation_drawer W / System:ClassLoader引用未知路径:/data/app/saurav.com.navigation_drawer-1/lib/arm

2 个答案:

答案 0 :(得分:2)

当您的应用启动时,它首先使用启动活动的主题来显示窗口背景。可以在Android Deevelopers Blog中找到有关该过程的完整说明。如果您未在 styles.xml 中指定 windowBackground ,则会使用默认的白色,并损坏UX。你可以在那里指定一个更令人愉悦的drawable。

另一种方法是创建一个幻觉,让您的应用立即启动,并将责任归咎于启动器。您只需为启动活动选择透明windowBackground:

<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
    <item name="android:windowBackground">@dnull</item>
</style>

视觉效果将是在最终用户按下您的应用程序图标后,显示相同的启动器屏幕几秒钟,然后您的活动全速进入。

无论如何,您应该分析应用程序的启动过程并尽可能快地将其推送到后台线程(或线程),然后推送到那里。

显示启动画面(即,当应用程序逻辑在后台启动时,加载非常快并且吸引眼睛吸引它的活动)是在所有平台上慢速启动的常见方法,而不仅仅是Android。官方设计指南不鼓励这样做,但许多流行的应用程序,包括谷歌自己的应用程序,都使用启动画面。

有关更详细的示例,请参阅https://www.bignerdranch.com/blog/splash-screens-the-right-way/

PS 对于ClassLoader的此类警告通常无关紧要。

答案 1 :(得分:0)

这只是由Android系统花了几秒钟启动你的应用程序引起的 - 白色实际上是你主题中指定的窗口背景。 (因此,您可以在系统加载应用程序时使用图像或纯色)。因此,没有任何关于它的信息,因为系统加载你无法控制的应用程序。

从Android Studio部署时会更糟糕,因为即时运行和调试等功能的开销会使您的应用程序运行速度慢于发布优化版本时的运行速度。

此外,我不担心这些特定错误,除非它们导致您的应用崩溃。