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

相关文章
|
6月前
|
Java Android开发
Android系统 获取用户最后操作时间回调实现和原理分析
Android系统 获取用户最后操作时间回调实现和原理分析
184 0
layoutSubviews 调用时机
layoutSubviews 调用时机
44 0
|
6月前
|
Java
主线程等待子线程执行完毕再执行的几种方式
主线程等待子线程执行完毕再执行的几种方式
124 0
|
Java Android开发
【Android 异步操作】Android 线程切换 ( 判定当前线程是否是主线程 | 子线程中执行主线程方法 | 主线程中执行子线程方法 )
【Android 异步操作】Android 线程切换 ( 判定当前线程是否是主线程 | 子线程中执行主线程方法 | 主线程中执行子线程方法 )
484 0
Activity中,View#postDelay会导致内存泄漏,但是不会影响Activity的生命周期执行。
Activity中,View#postDelay会导致内存泄漏,但是不会影响Activity的生命周期执行。
让某一个请求先执行(时机问题)
让某一个请求先执行(时机问题)
【EventBus】EventBus 源码解析 ( 事件发送 | 发布线程为 子线程 切换到 主线程 执行订阅方法的过程分析 )
【EventBus】EventBus 源码解析 ( 事件发送 | 发布线程为 子线程 切换到 主线程 执行订阅方法的过程分析 )
164 0
|
Java Android开发 索引
onAttachedToWindow和onDetachedFromWindow调用时机源码解析
终于建了一个自己个人小站:https://huangtianyu.gitee.io,以后优先更新小站博客,欢迎进站,O(∩_∩)O~~ 先上测试代码: MyView.java import android.
1666 0