android binder 机制原理,能具体讲讲吗?不要粘贴,要自己的理解o

发布网友

我来回答

1个回答

热心网友

binder在安卓中有个中间代理人的身份,就像是街头贴小广告的,他能提供一些特殊服务...,安卓开发中开启服务的方式有两种,一种是onStartCommand直接开启服务,这种服务开启之后如果不stopservice关闭服务的话,它会在后台一直运行,还有一种就是通过bindservice的方法开启服务,这种方法就是绑定服务,绑定之后会随着activity的关闭而销毁..在绑定服务的时候可以写一个内部类继承binder,然后再调用的时候可以写一个内部类实现serviceconnection接口,,在onServiceConnected的方法中会返回一个binder的代理人对象,这个代理人对象和绑定服务的binder对象是同一个对象,我已经测试过了,它们打印出来的地址是同一个地址..绑定成功之后就可以调用服务里面特殊的方法了.追问你说的这个是aidl的使用,aidl实际上就是采用了代理模式,这个我都懂,其实我想问的是更深层次一点,也就是偏底层一点的原理,比如android 底进程间通信基本上都采用 binder 机制,为什么采用这个方式呢?

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com