Why does ContentProvider.onCreate() get called before Application.onCreate()?

Viewed 10757

I registered a ContentProvider in AndroidManifest.xml, and the ContentProvider.onCreate() was called even before the Application.onCreate(). I don't understand this behavior, in my opinion, It's more natural that Application.onCreate() be called before any of the components in the application. Could someone tell me the timing of Application.onCreate() and other components' onCreate() gets called?

2 Answers

It is exactly how it should work.

Documentation of Application class was updated starting from Android 4.2 and it says that Application#onCreate()

Called when the application is starting, before any activity, service, or receiver objects (excluding content providers) have been created.

Related