ContentProvider的执行时机

简介: ContentProvider的执行时机

这里先给出源码分析的结论:

ContentProvider 的 onCreate() 方法先于 Application 的 onCreate() 方法执行,晚于Application的onAttachContext()方法执行。

 

├── ActivityThread.handleBindApplication
    ├── LoadedApk.makeApplication
        ├── Instrumentation.newApplication
            ├── Instrumentation.newApplication
                ├── (Application)clazz.newInstance() //调用构造方法
                ├── Application.attach
                    ├── Application.attachBaseContext //调用attachBaseContext方法
    ├── ActivityThread.installContentProviders
        ├── ActivityThread.installProvider
            ├── ContentProvider.attachInfo
                ├── ContentProvider.attachInfo
                    ├── ContentProvider.onCreate  // 调用 ContentProvider的onCreate方法
    ├── Instrumentation.callApplicationOnCreate
        ├── Application.onCreate  //调用Application的onCreate方法
结论:

调用顺序: Application 构造方法 –> Application.attachBaseContext –> ContentProvider.onCreate –> Application.onCreate –> Activity.onCreate

相关文章
|
9月前
layoutSubviews 调用时机
layoutSubviews 调用时机
24 0
|
2月前
|
Java Android开发
Activity的加载过程
Activity的加载过程
18 1
|
SQL Java
PicassoProvider初始化时机
在学习Picasso源码的过程中,发现了Picasso对象的初始化不需要传入上下文对象了
Activity中,View#postDelay会导致内存泄漏,但是不会影响Activity的生命周期执行。
Activity中,View#postDelay会导致内存泄漏,但是不会影响Activity的生命周期执行。
让某一个请求先执行(时机问题)
让某一个请求先执行(时机问题)
【EventBus】EventBus 源码解析 ( 事件发送 | 发布线程为 子线程 切换到 主线程 执行订阅方法的过程分析 )
【EventBus】EventBus 源码解析 ( 事件发送 | 发布线程为 子线程 切换到 主线程 执行订阅方法的过程分析 )
152 0
|
Java Android开发 索引
onAttachedToWindow和onDetachedFromWindow调用时机源码解析
终于建了一个自己个人小站:https://huangtianyu.gitee.io,以后优先更新小站博客,欢迎进站,O(∩_∩)O~~ 先上测试代码: MyView.java import android.
1599 0