面试:插件化相关---contentProvider

ContentProvider插件化原理---代理转发

ContentProvider插件化原理与Service插件化原理差不多,都是启动一个代理ContentProvider,然后由代理ContentProvider去启动插件ContentProvider。

下图所示即为ContentResolver的调用时序图

启动代理ContentProvider,进行代理分发,启动插件ContentProvider,因此首先通过getContentProvider()获取插件ContentProvider,然后再调用插件ContentProvider的query()方法。

代理转发,在宿主APP中拦截ContentProvider的操作,然后将操作转给宿主占坑的ContentProvider,然后再由占坑ContentProvider进行转发,调用插件中具体的ContentProvider对象。没错,VirtualApk就是这么搞的。

VirtualApk源码分析-ContentProvider插件化 - 简书
ContentProvider插件化 - 掘金

猜你喜欢

转载自blog.csdn.net/cpcpcp123/article/details/128111013