为什么在Application.onCreate()之前调用ContentProvider.onCreate()?

时间:2012-08-03 03:27:41

标签: android

我在AndroidManifest.xml中注册了一个ContentProvider,并且甚至在Application.onCreate()之前调用了ContentProvider.onCreate()。在我看来,我不理解这种行为,在应用程序中的任何组件之前调用Application.onCreate()更自然。有人能告诉我Application.onCreate()和其他组件'onCreate()被调用的时间吗?

3 个答案:

答案 0 :(得分:17)

根据Google's issue它应该如何运作(尽管文档有误)。

another question有一个可以帮助你的工作场所。{/ p>

答案 1 :(得分:1)

首次启动Android应用程序流程时,存在明确定义的操作顺序:

  1. 清单中声明的​​每个ContentProvider均在priority order中创建。
  2. 已创建Application类(或自定义子类)。
  3. 如果另一个通过某个Intent调用的组件被创建,则

请阅读更多: https://firebase.googleblog.com/2016/12/how-does-firebase-initialize-on-android.html

答案 2 :(得分:0)

这正是它应该如何工作的。

Application类的

Documentation从Android 4.2开始更新,并说Application#onCreate()

  

在应用程序启动时,创建任何活动,服务或接收者对象(不包括内容提供者)之前调用。