Android Binder线程
来源:互联网 发布:js中valueof 编辑:程序博客网 时间:2024/06/06 23:51
调用IPC时,服务代码在哪里运行呢?
1.从本地进程调用(和Service在一个进程)
从哪个线程调用 在那个线程执行。所以从main线程调用要注意阻塞问题。
但这种情况你不应该使用AIDL,没有必要,直接使用实现IBinder的对象就行了。
2.从外部进程调用
在Service进程的Binder进程池中调用(测试下是调用的Binder_1)。因此多个客户端调用,就会存在线程安全问题,所以要保持 Binder调用的代码的线程安全。
如果不想处理多线程问题,可以使用Messager
PS:binder线程池在应用进程创建时创造,通过RuntimeInit.nativeZygoteInit
3.oneway关键字
默认跨进程调用Binder 客户端线程会被阻塞,如果客户端不在乎返回结果,调用后想立即返回,可以给方法加上oneway关键字。
阅读全文
0 0
- Android Binder线程
- Android Binder线程
- Android应用程序启动Binder线程源码分析
- Android应用程序启动Binder线程源码分析
- android binder机制---ProcessState和线程池
- android的binder驱动 进程,线程,线程池
- android的binder驱动 进程,线程,线程池
- Android Binder -什么是binder
- Android Binder
- Android Binder
- android Binder
- Android-binder
- android Binder
- Android--Binder
- android binder
- Android Binder
- android binder
- android: binder
- 20 linux字符设备驱动相关的函数及参数
- samba
- 如何将一个十进制数转换成4位十进制数表示
- 使用C/C++编写Python扩展库
- 使用Nginx完成负载均衡
- Android Binder线程
- FLANN和SURF搭配动态匹配特征点
- 程序员的高考试卷B
- nginx小记
- 来说说Unity观察者(Observer)模式
- oracle 关键字 wm_concat 将多条数据合并成一条
- 2017.06.06学习总结
- Git SVN 工作空间还原
- 持续继承win+jenkins+cvs+weblogic