码迷,mamicode.com
首页 > 移动开发 > 详细

android-service(要点)

时间:2016-04-13 23:30:47      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:

 Service服务
没有界面,后台运行,后台执行耗时任务(子线程),播放音乐,下载,IPC

start方式服务(播放音乐,下载)
startService(Intent intetn)
1.继承Service重新onBind,onStartCommand(Intent i,int flag,int startId)
2.继承IntentService,onHandleIntent(Intent intent)实现线程(工作线程)
不用new子线程,操作执行完毕自动关闭Service

int onStartCommand(Intent intent, int flags, int startId)方法
参数flags默认情况下是0,对应的常量名为START_STICKY_COMPATIBILITY。当Service因为内存 不足而被系统kill后,接下来未来的某个时间内,当系统内存足够可用的情况下,系统将会尝 试重新创建此Service,但不保证服务被Kill后一定能重启。

参数startId是一个唯一的整型,用于表示Activity(客户端)执行startService(...)的请求请 求标识,在多次startService(...)的情况下,呈现0,1,2....递增。

返回值具体的可选值及含义如下:(常见面试题)
START_NOT_STICKY(非粘性):当Service因为内存不足而被系统kill后,接下来未来的某个时间 内,即使系统内存足够可用,系统也不会尝试重新创建此Service。除非程序中Activity(客户 端)明确再次调用startService(...)启动此Service。

START_STICKY:当Service因为内存不足而被系统kill后,接下来未来的某个时间内,当系统内 存足够可用的情况下,系统将会尝试重新创建此Service,一旦创建成功后将回调 onStartCommand(...)方法,但其中的Intent将是null,pendingintent除外。

START_REDELIVER_INTENT:与START_STICKY唯一不同的是,回调onStartCommand(...)方法时, 其中的Intent将是非空,将是最后一次调用startService(...)中的intent。


bound方式服务(IPC)淘宝--支付宝  MyApp--Phone
1.继承Binder类(用于进程内部)
2.Messenger
3.AIDL(不同进程之间进行通信)

Service生命周期(start  bound) 

android-service(要点)

标签:

原文地址:http://www.cnblogs.com/xiaozhouboke/p/5389093.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!