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消失,子线程回来不曾关闭)

原文地址:https://www.cnblogs.com/xiaolei121/p/5937373.html