【转】 Pro Android学习笔记(九一):了解Handler(5):组件生命

  

文章转载只能用于非商业性质,且不能带有虚拟货币、积分、注册等附加条件。转载须注明出处:http://blog.csdn.net/flowingflying/

对于activity,消息是在OnCreate到OnDestory阶段都是有效的,即整个activity生命周期是有效的,worker线程也是,即使Activity不可视,worker线程和handler也有效。另一方面,在有worker线程的情况下,我们应该在onDestory中进行相应处理,所谓的gracefully关闭worker线程。

在低内存的情况下,当Activity不可视,会被回收,Android会删除进程。如果一个Activty被终结,只有在配置改变的情况下(例如横屏变竖屏)会自动重启。相比而言,Service的优先级别更高,Android会尽量保持它,即使因低内存而被回收,如果还有message未处理,则会被重启,但出现这种情况时,系统也不能确保运行完整。

Receiver将在后面学习。是call-and-be-gone模式,即被call,运行,然后结束。broadcast receiver在主线程中执行,运行执行的时间是10秒,如果要进行个长时间的处理,需要在receiver的代码中持有wakelock,以保证设备部分清醒(不完全睡眠),发起startService(),利用系统对Service的优先级别,是进程优先长期存在并可以被重启。由于Service也是在主线程运行的,对于长时间的处理,可用worker线程。具体将在以后学习。

Content provider是同步方式,本地是在主线程运行,外部调用则通过线程池。provider是需要是启动,到进程结束是结束。

相关链接: 我的Android开发相关文章

原文地址:https://www.cnblogs.com/blongfree/p/5048097.html