Android系统源码阅读(8):Content Provider数据传输过程

Android系统源码阅读(8):Content Provider数据传输过程

该系列只记录阅读代码时遇到的问题和心得体会,具体代码讲解可以参考老罗的《Android系统源代码情景分析》,我就不班门弄斧了。我编译的AOSP版本:6.0.1_r50。


1. 用户开始查询

这里写图片描述
1. 用户调用query函数进行查询。首先尝试获得provider,这里分为两种,先是unstable,后是stable,暂时没有分清这两者之间的区别。在尝试获取Provider的过程中,将会类似于第7篇文章中的过程。这里假设该用户已经有该provider的记录,获取过程见1.2。在取得provider后,见1.5。
2. 继续获取Provider。
3. 继续获取Provider。
4. ActivityThread将所有已经获得的Provider放在mProviderMap中。这里假设需要获取的Provider存在,返回一个IContentProvider类型的provider,这个接口指向了Content Provider的一个Transport代理对象,即ContentProviderProxy对象。
5. 使用provider的代理进行查询。这里会创建一个BulkCursorToCursorAdaptor对象。该版本没有创建CursorWindow

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值