Android生命周期进阶教程
在Android的生命周期管理中,活跃状态的广播接收器进程受到系统保护而不会被轻易终止。然而,仅包含非活跃状态组件的进程可能在其他进程需要其占用的内存时随时被系统结束。这种机制引发了一个问题:如果处理一个广播消息耗时较长,我们通常会将其放在一个新的线程中进行处理,而不是在主线程中执行以确保用户体验的流畅性。若onReceive()方法启动了新线程并返回后,整个包含新线程的进程会被标记为非活跃状态(除非该进程中的其他应用组件仍处于活动状态),从而可能面临被系统终止的风险。解决此问题的办法是让onReceive()方法启动一个新的服务来执行任务,这样系统会知晓进程中仍有工作在进行之中。
下载地址
用户评论