Service: 小试 AIDL IPC 牛刀

一、Service 简介


Service有 local 和 remote 两种类型。


local 主要是用于本地的应用程序之间的调用,remote 主要用于不同应用或者进程之间,这里用到 AIDL IPC 机制。


关于 AIDL IPC 机制可以参阅 SDK DEV Guide!

当然,你要是想完全理解这种机制可能要花费点时间哟,不过还好,我只是用一下,呵呵!~ ~

 

二、Service 与进程


android 各个组件之间默认运行在同一个进程之中,它们有各自所在的进程来管理,它们是主线程的一部分而不是系统开启的线程。

也就是说,要是在这些组件(包括 service)中做耗时比较长的操作需要另起线程。


这里需要说明,你可以通过 android:process=属性说明应用组建的所属进程。


三、远程 Service


先看看文件目录结构吧


在对应的包下面新建一个 AIDL 文件,这里是 IMusicService.aidl 文件。


那么 ADT 会自动的为你生成对应的 java 源文件。


IMusicService.aidl 文件:


这样,我们就可以在应用程序中使用它啦...

Activity 中我是这样做的:

最后,别忘记在 manifest.xm 文件中声明:



cmd 一下,在命令行中 adb shell ps  查看 android 应用程序的 PID 以及进程 ID。









评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值