1.安卓中的进程
在Android 中,进程完全是应用程序的实现细节,不是用户一般想象的那样。
它们的用途很简单:
通过把不信任或是不稳定的代码放到其他进程中来提高稳定性或是安全性
通过在相同的进程中运行多个.apk 代码来减少消耗
通过把重量级代码放入一个分开的进程中来帮助系统管理资源。该分开的进程可以被应用程序的其他部
分单独地杀死
如果两个没有共享相同的用户ID 的.apk 试图在相同的进程中运行,这将不被允许,并且系统会为每一
个apk 程序创建不同的进程
2.线程
线程
Android 让一个应用程序在单独的线程中,指导它创建自己的线程
应用程序组件(Activity、service、broadcast receiver)所有都在理想的主线程中实例化
没有一个组件应该执行长时间或是阻塞操作(例如网络呼叫或是计算循环)当被系统调用时,这将中断所
有在该进程的其他组件
你可以创建一个新的线程来执行长期操作
3.进程释放优先级
当系统资源消耗,Android 将会杀死一些进程来释放资源
进程优先级顺序:
① 前台进程:
包含一个前台Activity、包含一个正在运行的广播接收器、正在运行的服务(当前用户所需的Activity、
正在屏幕顶层运行的Activity)
② 可视进程:
包含一个可视化的Activity(Activity 可视的,但是不是在前台的(onPause))、例如显示在一个前台对
话框之后的以前的Activity)
③ 服务进程:
包含一个被开启的服务(处理服务,不是直接可视,例如媒体播放器,网络上传、下载)
④ 后台进程:
包含一个不可视的Activity(带有一个当前不可视的Activity、可以在任意时刻杀死该进程来回收内存)
⑤ 空进程
没有持有任何应用程序组件