在安卓中,默认情况下,同一个应用程序内的所有组件都是运行在同一个进程的,这个进程叫做主线程,又或者UI线程。
一般主线程负责把事件分发给相应的用户界面widget--包括屏幕绘图事件,而系统并不会为每一个组件的实例都创建单独的线程。运行于同一个进程中的所有组件都是在UI线程中实例化的,对每个组件的系统调用也都是由UI线程分发的。
Android单线程模式遵守的两个规则:1.不要阻塞主线程 2.不要在Ui线程之外访问Android的UI组件包。
想要程序在多线程下运行,可以通过AndroidManifest.xml文件设定应用程序归属的进程(android:process属性)。程序新建进程时,如果内存不足,系统需要通过清除进程来回收内存,系统会把每一个进程都划入一个“重要性层次结构”中,通过重要性的高低来结束进程。
重要性:前台进程>可见进程>服务进程>后台进程>空进程。