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

Android 为什么ContentProvider.onCreate()在Application.onCreate()之前被调用?,android,Android,我在AndroidManifest.xml中注册了一个ContentProvider,甚至在应用程序.onCreate()之前就调用了ContentProvider.onCreate()。我不理解这种行为,在我看来,在应用程序中的任何组件之前调用Application.onCreate()更为自然。有人能告诉我Application.onCreate()和其他组件的onCreate()被调用的时间吗?根据a,这是应该如何工作的(尽管文档是错误的) 有一个工作区可以帮助你。这正是它应该如何工作的

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

根据a,这是应该如何工作的(尽管文档是错误的)


有一个工作区可以帮助你。

这正是它应该如何工作的

从Android 4.2开始,
Application
类的更新说明
Application#onCreate()

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


显示您的
AndroidManifest.xml
Application.onCreate()
是按进程调用的,所以如果应用程序正在启动多个进程,则可能会发生这种情况。这发生在什么Android版本和设备上?