杭州软装公司排名前十强/内蒙古网站seo
1. APP级别简单使用
.aidl文件定义接口类+声明接口函数
编译后生成.java文件,自动补全其中代码结构:
待补全
2. binder关键字【oneway、in、out、inout】
onway:在aidl中用于修饰函数,被修饰代表异步调用,仅提交事务给binder驱动;无修饰为同步阻塞调用;
in、out、inout:用于修饰函数参数,表示数据流向,如果aidl中泛型对象类型参数可以不带in,out,inout任何一个,那么它一定属于默认in类型,而且也不能强制给其加上out或inout
官方说法:
in表示数据只能由客户端流向服务端。(表现为服务端修改此参数,不会影响客户端的对象)
out 表示数据只能由服务端流向客户端。(表现为服务端收到的参数是空对象,并且服务端修改对象后客户端会同步变动)
inout 则表示数据可在服务端与客户端之间双向流通。(表现为服务端能接收到客户端传来的完整对象,并且服务端修改对象后客户端会同步变动)
直观理解:都是从服务端视角来看的,in表示流入服务端的数据,out表示流出服务端的数据;
in:可以理解为客户端调用方法时,参数传递为值传递;会拷贝一份给server
out:可以理解为客户端调用方法时,参数传递为 半引用传递;server拿到同一份对象,但是 可写不可读
inout:为引用传递,server可写可读