Android开发入门指导:进程重要性评估准则
在tAndroid中,系统会根据当前活跃组件的重要性来尽可能准确地评估一个进程的优先级。例如,如果一个进程同时包含了一个服务和一个可视的界面组件(activity),那么该进程将被判定为具有视觉界面的进程,而不是仅仅作为一个后台服务的进程。
此外,一个进程的重要级别可能会因为其他进程依赖于它而提升。当一个进程为其它进程提供服务时,其重要性显然高于使用这些服务的进程。例如,如果A进程中的内容提供者为B进程中的客户端服务,或者A进程的服务被B进程的组件绑定,那么至少可以将A进程视为与B进程同等重要的进程。
由于运行服务的进程的重要性总是高于一个后台运行的activity,因此启动一个服务来处理长时间运行的任务比简单地从activity中衍生出一个线程更为有利。特别是在任务执行时间超过activity本身存在的时间时尤其如此。以播放背景音乐和上传相机拍摄的图片至网站为例,使用服务可以确保即使在activity被销毁后,操作也能继续进行并保持“服务进程”的权限。正如广播接收器生命周期中所述,这也是为什么广播接收器会使用服务而不是线程来处理耗时任务的原因。
下载地址
用户评论