美文网首页
ContentProvider onCreate

ContentProvider onCreate

作者: 小虫虫奇遇记 | 来源:发表于2020-07-28 23:53 被阅读0次

ContentProvider

onCreate执行时机

单个进程:

D/MyApplication: Application attachBaseContext:
D/MyApplication: MyContentProvider onCreate:
D/MyApplication: MyContentProvider attachInfo:
D/MyApplication: Application onCreate:

所以 ContentProvider onCreate执行在 Application onCreate方法之前。

那多进程的情况下呢?ContentProvider是不是也和Application一样执行多次onCreate呢?
再次启动ActivityB,处于新的进程:

D/MyApplication: Application attachBaseContext:
D/MyApplication: Application onCreate:

第二个进程启动的时候并不会再调用MyContentProvider的onCreate方法。如果在MyContentProvider的onCreate中为某个对象的context变量赋值为applicationContext,在第二个进程中获取此变量的值,会是NULL。因为第二个进程启动没有执行MyContentProvider的onCreate,自然不会为变量赋值。

  • 多进程情况下,单例失效,会在多个进程中存在不同的单例对象;
  • 第二个进程启动后,第一个进程仍继续存在并执行

相关文章

网友评论

      本文标题:ContentProvider onCreate

      本文链接:https://www.haomeiwen.com/subject/audcrktx.html