Android ContentProvider的启动过程

来源:互联网 发布:游戏里被广为人知的梗 编辑:程序博客网 时间:2024/05/16 13:57

ContentProvider使用步骤:

1、ContentSolver contentResolver = getContentResolver()

2、contentResolver.insert();(还有其他三种方式)

首先getContentResolver()的过程如下:

getContentResolver()是属于context的一个抽象方法,具体的实现在(ContextImpl)getContentSolver() 返回的是ContentSolver子类ApplicationContentResolver的对象;

其次contentResolver.insert()(其他三个方法的流程一样)的流程如下:



acquireProvider()判断provider是否已经存在了,如果存在就直接用如果不存在就在对应的应用进程去新建一个provider,新建成功之后attachInfo()->onCreate()然后发布到AMS

publishContentProviders()


参考见:http://blog.csdn.net/zhangyongfeiyong/article/details/52038800