在Android应用程序中使用启动画面的启动顺序
问题描述:
我必须更改现有的应用程序。我需要让应用程序以初始化完成时显示的启动画面开始。 (这可能需要一段时间,因此闪屏)在Android应用程序中使用启动画面的启动顺序
但是我看到的是内容提供者的onCreate在应用程序的onCreate被调用之前被调用。此内容提供者必须依赖初始化应用程序时加载的数据。
任何人都可以告诉我应用程序启动时采取了哪些步骤吗? 此外有谁能告诉我如何克服这种catch-22情况?
答
我需要让应用程序以启动画面开始,并在完成各种初始化时显示启动画面。 (这可能需要一段时间,因此闪屏)
初始屏幕are considered to be poor form。允许用户进入某些应用程序,即使您必须阻止某些等待某些数据从Internet上加载的部分。
任何人都可以告诉我应用程序启动时采取了哪些步骤吗?
您的Application
对象和所有ContentProvider
实现在任何其他事情发生之前(例如,创建活动)创建。从面向开发人员的代码的角度来看,就是这样 - 框架本身做更多的事情,但没有什么会触发我们的代码回调。
此外有谁能告诉我如何克服这种catch-22情况?
摆脱ContentProvider
,因为你可能不需要它。
或者,将ContentProvider
重写为不需要从其onCreate()
方法中“加载的数据”。
或者,重新构建应用程序以使用缓存,同步等,以便应用程序可以在一开始就没有限制地启动。作为奖励,这一个可以让你摆脱闪屏。
感谢您的快速响应。因为它是一个现有的应用程序(开源),我们将基于该应用程序开发一个新应用程序,所以我们希望尽可能少地改变代码,以便新版本的基本代码不需要大量的重构。 – user1221261