简述ContentProvider多进程通信
来源:互联网 发布:工资计算软件 编辑:程序博客网 时间:2024/06/03 22:41
ContentProvider的底层实现是Binder,所以ContentProvider的6个方法都是运行在ContentProvider所在应用的进程中,其中,除了onCreate由系统回调并运行在主线程里,其他五个方法均由外界回调并运行在Binder线程池里。外界每调用一次提供器的方法都会独自开启一个线程。
ContentProvider主要以表格的形式来组织数据,并且可以包含多个表,和数据库很相似。
在manifest文件里注册提供器时,使用属性 android:authorities="包名.provider" 来唯一指定提供器,name属性用来指定java文件,一般还使用permission属性来指定访问权限,其中可以细分为readPermission和writePermission。
让ContentProvider也实现数据改变时通知其使用者,需要先让使用者通过ContentResolver的registerContentObserver来注册,然后ContentProvider使用notifyChange方法来通知外界数据改变,最后使用者通过unregisterContentObserver解除观察者模式。
如果ContentProvider的底层数据是数据库,可以不用考虑同步问题,但是如果底层是内存数据,比如List,则必须做同步处理。
如果是调用查询方法,记得在使用完Cursor后关闭Cursor实例。
阅读全文
1 0
- 简述ContentProvider多进程通信
- Android使用ContentProvider实现多进程通信
- Android IPC机制 ContentProvider进行进程间通信
- Android 进阶11:进程通信之 ContentProvider 内容提供者
- 简述Linux进程间通信的几种方式
- 简述Linux下的进程通信方式及其区别
- 简述使用Messenger进行进程间的通信
- 进程简述
- Android ContentProvider 多进程multiprocess 详解
- Linux进程间通信(IPC)编程实践(0) 进程间通信简述和PV原语
- 多进程通信
- 多进程通信
- android多进程通信
- TCP通信,多进程
- linux多进程通信
- 多进程通信
- 多进程通信 互斥量
- Aidl多进程通信
- C
- C
- 132 pattern
- JS第一章
- C#193课的主要内容
- 简述ContentProvider多进程通信
- D
- HDU6033 & 2017 Multi-University Training Contest
- 八段代码彻底掌握Promise
- Tomcat 概述&环境配置
- JavaScript基础概念
- JS中的基本运算符
- 【OpenCV】OpenCV配置篇
- CSDN写博客常用markdown语法举例