关于主线程先说两句:
一个Android应用程序的主线程或者UI线程是触发所有UI事件的地方。每一个你按下的按钮都会产生一个通过主线程派遣的事件。出于这个原因,使用工作者线程来处理长时间的操作就很重要。尝试从工作者线程中更新UI将会导致异常。Android提供了很多处理这个问题的API:
- Activiy.runOnUiThread方法
- View.post,View.postDelayed以及View.postInvalidate方法
- AsynTask类
- 消息处理程序(Handler+Thread+Looper)