默认情况下,每个Android应用都独立运行在自己独立的进程中,而每个进程都运行着Android RunTime(ART).
内存和进程的管理由运行时处理,某些情况下,Android会释放资源杀掉app以遍优先级高的应用的流畅性。
而杀死进程回收资源的顺序是由应用优先级决定的,应用的优先级又取决于优先级最高的组件。
如果两个应用具有相同的优先级,那么运行时间最长的进程通常会被杀死。
优先级次序如上图,解释如下:
1. 活动进程:可见且可以和用户交互的页面。如正在运行的activity页面。
2. 可见进程:可见但是不能交互,如被弹窗或被遮盖部分的页面。
3. 已启动的后台服务service。
4. 未启动的后台服务service。