一、Service简介


Service有local和remote两种类型。

local主要是用于本地的应用程序之间的调用,remote主要用于不同应用之间的重用,这里用到AIDL IPC机制。 关于AIDL IPC机制可以参阅SDK Dev Guide,很简单!当然,你要是想完全理解这种机制可能要花费点时间哟,不过还好,我只是用一下,呵呵!~ ~

二、Service与进程


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

这么说来, 要是 在这些组件中做耗时比较长的操作需要另起线程。

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


三、远程Service


先看看文件目录结构吧

在对应的包下面新建一个AIDL文件,这里是IMusicService.aidl文件。那么ADT会自动的为你生成对应的java源文件。不要以为 IMusicService.aidl多难写,其实它就是你暴露给外界的接口,只不过我们把他的后缀写为.aidl而不是.java。


IMusicService.aidl文件:


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

Activity中我是这样做的:

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


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



更多相关文章

  1. Android(安卓)自定义线程池
  2. Android注解-编译时生成代码 (APT)
  3. android 蓝牙知识链接汇总
  4. Android(安卓)8.0 系统启动流程之init进程--第二阶段(五)
  5. android studio 新建assets 文件
  6. 如何将Android(安卓)studio中Library发布到Jcenter
  7. Android字符串资源文件format方法使用实例
  8. android多进程深入分析
  9. Android学习系列(7)--App消息通知机制

随机推荐

  1. Android(安卓)应用程序窗体显示状态操作(r
  2. Android(安卓)-- Looper.prepare()和Loop
  3. 详细介绍android rom移植知识普及
  4. Android(安卓)联网取数据
  5. Android(安卓)9-patch
  6. Android中的windowSoftInputMode属性详解
  7. Android(安卓)Socket 开发
  8. 从零开始Android
  9. android 的 Gallery 的简单使用
  10. Flutter和Android中的View区别