多进程内容提供程序同步到默认值

 fengfeng 发布于 2023-01-02 15:28

根据Android文档:

机器人:多进程

是否可以在每个客户端进程中创建内容提供程序的实例 - 如果实例可以在多个进程中运行,则为"true",否则为"false".默认值为"false".

通常,内容提供程序在定义它的应用程序的过程中实例化.但是,如果此标志设置为"true",则系统可以在每个进程中创建一个实例,其中有一个客户端想要与之交互,从而避免进程间通信的开销.

因此,如果将此属性设置为,true则将在每个进程中创建Content Provider的实例.

问题1此实例是对内容提供商的引用还是整个内容提供商的副本?

问题2系统如何处理同步更改回到默认/原始实现?数据源(SQLite等)是否负责多进程读/写?

问题3这更像是一种有根据的猜测.最初,在拥有内容提供商的应用程序中存在内容提供者实例.每当其他应用程序与之交互时,它们就会通过IPC实现,这意味着:

other app --> IPC --> content provider --> data source

multiprocess="true"被设置时,系统将在每个过程中,内容提供商的副本.因此,应用程序不必通过IPC与内容提供商进行交互.

other app ---> content provider ---> data source

内容提供商仍然可以直接访问数据源.在这种情况下,其方法必须是线程/进程安全的,因为其他应用程序也将访问它.

如果这种情况是正确的,那么这个线程安全实现是否与线程安全的默认要求不同?

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有