aidl使用和注意事项
来源:互联网 发布:获奖网络小说完本推荐 编辑:程序博客网 时间:2024/06/01 15:40
aidl 如何使用看下图:
英语不好:大概就是1.创建aidl文件
2. 声明ibinder的接口(由ide生成),在定义一个服务实现接口...通过onbind方法把接口实例暴露给客户端.
3客户端.实现一个serviceconnnerction
4.bindservice()服务绑定,
5.在onserviceconnectes()获取ibindder的实例.
6.然后就是调用你在aidl声明的方法,并捕获异常。
7.连接断开就call unbindservice 解绑服务.ps:虽然程序能运行。但还是要解绑。
注意事项:
1.不能保证调用是否在主线程运行,你一开始就考虑多线程开启和构建的你service线程完全。
2.默认远程调用是同步的,如果你知道服务花掉几毫秒去完成一个请求,你不应该在一个ui thread 调用。因为会发生阻塞。建议你在分线程call.
3.不要抛出异常,因为实现的是接口方法,不能改变 方法。
其他注意:
1.
其他定义类型 需要指明 in out 还是inout不然会报错。并且用的要有价值,因为他是通过底层交流,耗系统资源。明确用途不要设置无用的参数。
2.
支持所有java的基础类型,但是并不支持short.
3.在自定义自己重写Parcelable 读和写数据必须一致,不然获取不到相对应的数据,虽然有数据。(ide生成没毛病)
4.bean 类和声明bean的aidl目录结构是一样的,并且那个aidl不参与编译.相当与c的文件头
不一样 会报找不到这个类。
5.把服务端aidl copy到客户端,避免出错。
6.onserviceconnect里面获取到的是一个代理对象。客户端通过代理对象的transact方法传递数据,服务端通过ontransact进行相应。服务端也有transact客户端也有ontransact
所以能响应交流.
7.aidl是非常耗费系统资源,所以不要乱用。使用规则,ipc:不同进程的交流(就是数据传递)2.多个客户端使用service.3多线程
- aidl使用和注意事项
- Android 使用aidl注意事项
- AIDL使用的注意事项
- AIDL注意事项
- 在android studio中使用aidl文件注意事项
- Android 跨进程通信Aidl的使用及注意事项
- Android 跨进程通信Aidl的使用及注意事项
- AIDL service纪事 注意事项
- AIDL通讯注意事项
- AIDL开发注意事项
- 使用aidl设计和使用远程接口
- openCV注意事项和使用
- Maven_使用和注意事项
- aidl 的简单介绍和使用
- Android AIDL的理解和使用
- Android中aidl的解析和使用
- AIDL的使用情况和实例介绍
- AIDL的使用情况和实例介绍
- Android 获取SIM卡手机号
- NSNumber比较大小
- UIWebview加载本地html文件
- 关于node错误 ——listen EADDRINUSE :::
- 分层协议
- aidl使用和注意事项
- Fiddle2(一) 的简介
- 【所悟】【C语言中的基本数据类型】
- Activity的四种启动模式
- Problem A: 一切皆对象 (C++期末)
- Grunt编译JSX的initConfig
- ZCMU-1757-内部收益率
- java语法序列化
- IDE的快捷键