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。









©️2020 CSDN 皮肤主题: 酷酷鲨 设计师:CSDN官方博客 返回首页