Android Service总结_移动开发_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > 移动开发 > Android Service总结

Android Service总结

 2013/11/8 10:15:52  安卓吧  博客园  我要评论(0)
  • 摘要:一、Service是什么?为什么要使用Service?Service是运行在后台运行的应用组件,不与用户交互。Service不是进程,也不是线程。处理耗时操作,需开启子线程。二、Service按启动方式分类启动方法Activity与Service是否返回值何时被动终止手动关闭startService没有关联no?不能使用binder方法?Activity退出,仍运行stopService或stopSelf(只有intent执行完才行停止掉
  • 标签:总结 android Service
一、 Service是什么?为什么要使用Service? Service是运行在后台运行的应用组件,不与用户交互。 Service不是进程,也不是线程。 处理耗时操作,需开启子线程。     二、 Service按启动方式分类 启动方法 Activity与Service 是否返回值 何时被动终止 手动关闭 startService 没有关联 no? 不能使用binder方法? Activity退出,仍运行 stopService或stopSelf(只有intent执行完才行停止掉) bindService 可以多个Activity绑定 yes,可以IPC通信 所有绑定Activity退出,才退出 同上     三、startService 实例   四、BindService 传值相关概念 bindSerice是Activity与Service通过binder进行通信: Binder Messager AIDL   IPC, RPC, LPC, AIDL   六 Activity向Service传值方式 1. Binder -  activity与application在同一个进程中使用与另外进程service通信 2. Messenger - 消息队列中执行,单线程. 底层用的就是AIDL 3. AIDL - 多线程 AIDL: 进程间通信, 定义.AIDL接口文件,本地实现. 公布.aidl文件.

通过Service子类实现

支持类型:java原始类型,String,parcelable,list,map

bindService

  ** Activity与Service第一种传值方式Binder 实例   ** Activity与Service第二种传值方式Messager 实例   ** Activity与Service第三种传值方式AIDL 实例   四 Service的生命周期,反复执行?startService和bindService混合执行?   具体操作 第一步 第二步 第三步 第四步 第五步 执行一次startService onCreate onStartCommand running   onDestroy 执行一次bindService onCreate onBind running onUnbind onDestroy 多次使用startService onCreate 多次执行onStart     onDestroy 多次执行bindService onCreate onBind running onUnbind onDestroy           五 IntentService  异步调用的Service,也是Starded Service IntentService解析
http://blog.csdn.net/tu_bingbing/article/details/11542955 IntentService 增加多线程支持       七 思考 1)需要后台运行? 那为什么不使用子线程? (* Service与thread的区别?) 1. Activity被finish掉, 就不会再持有Thread的引用. 2. 无法在多个Activity中,对同一个Thread进行控制. 多线程 - 想要在子线程做的事情与主线程通信频繁 service - 要处理的事情,可以逻辑上才分开,很少进行通信   Android中Local Service最本质的作用是什么?   2)保证Service不被关闭 使用方法startForeground,使Service位于前端进程中
上一篇: Android--序列化XML数据 下一篇: 没有下一篇了!
发表评论
用户名: 匿名