一个android程序开始运行的时候,会单独启动一个process。默认的情况下,这个程序中的所有activity\service(activity和service只是android提供的components中的两种,还有contentprovider和broadcast receiver)都会跑在这个process中。一个android程序默认只有一个process,但一个process下可以有多个thread。
在这么多thread中,一个thread我们称之为UI Thread。UI Thread在android程序运行的时候就被创建,是一个process中的主线程Main thread(主线程,子线程只是习惯叫法)。UI Thread主要负责控制UI界面的显示,更新和控件交互。在android程序创建之初,一个process呈现的是单线程模型,所有的任务都在一个线程中运行。因此,我们认为,UI Thread所执行的每一个函数,所花费的时间越短越好。而其他比较费时的工作(访问网络,下载数据等)都应交给其他子线程去执行,避免阻塞主线程。