A process that is required for what the user is currently doing. A process is considered to be in the foreground if any of the following conditions are true:
进程类型:
系统强制销毁进程时,面临一个问题:系统当中可能会运行多个进程,销毁哪些进程合适呢? 这就是我们要讨论的进程的优先级问题。进程被系统强制销毁时,是按照进程的优先级进行的。而进程的优先级主要和应用包含的组件相关。进程优先级从高到低可分为四种:前台进程、可视进程、服务进程、缓存进程。
前台进程(foreground process):需要用户当前正在进行的操作。一般满足以下条件:
可视进程(visible process):做用户当前意识到的工作。一般满足以下条件:
服务进程(service process):含有以startService()方法启动的service。虽然该进程用户不直接可见,但是它们一般做一些用户关注的事情(如数据的上传与下载)。
这些进程一般不会杀死,除非系统内存不足以保持前台进程和可视进程的运行。
对于长时间运行的service(如30分钟以上),系统会考虑将之降级为缓存进程,避免长时间运行导致内存泄漏或其他问题,占用过多RAM以至于系统无法分配充足资源给缓存进程。
缓存/后台进程(***d/background process):一般来说包含以下条件: