Service服务生命流程 广播Broadcast
第一种 直接启动Start (Activity与Service无关)
1.onCreate()
2.onStartCommand()
3.onDestory() (Activity关闭时,服务继续运行)
第二种 绑定启动Bind
//用于Activity与服务Service 数据的交互
1.onCreate
2.onBind() 绑定(服务与绑定Acitivity,二者同时存在同时消失)
3.onUnbind() 解除绑定
4.onDestory() (服务与Activity同时消失)
BroadcastReceiver 生命周期短,onReceiver方法必须在10秒内完成。超出会出现ANR(Application not Response) 系统无响应。
解决方案:1.将耗时工作通过Intent发送给Service,由Service进行处理。
2.只能用StartService,不用Bind,广播与service无关
3.在BroadcastReceiver中不能用子线程。在Activity中可以用子线程(子线程发出,BroadcastReceiver消失,子线程回来不曾关闭)