我正在尝试优化我的应用。我们已在我们的应用中推出插页式广告。当有广告时,app需要大约7-8秒才能启动主屏幕。当广告不可用时,启动主屏幕需要3秒钟。问题出在cold start
:第一次启动应用时,installation
或update
之后。该应用需要4-5 seconds
才能显示我的splash screen
。我知道这是因为当第一次启动应用程序时,操作系统需要时间来初始化应用程序,这对于大多数应用程序来说都很常见。但我观察到的应用程序很少,启动主屏幕的时间非常短,而且很难看到黑屏。通过将自定义主题设置为活动,我可以避免黑屏。但我希望减少黑屏和闪屏之间的时间。对于其他发布,black screen
和splash screen
之间几乎不需要1秒。有什么可以做的,以减少首次启动的延迟
答案 0 :(得分:1)
取决于您如何组织Home / Splash Activity以及您在Activity生命周期回调中定义繁重任务的位置。
通常,测试您的应用并查看哪些方法比其他方法花费更多时间,并从优化它们开始。 尝试在onCreate()和onStart()上进行最小化(否)工作。 将耗时的工作发送给后台线程。
此外,您可以查看Chet Haase撰写的这篇9Part帖子的快速启动部分。 https://medium.com/google-developers/developing-for-android-iii-2efc140167fd#.7fkyvlowf