在开发Android应用时必须遵守单线程模型的原则:Android UI操作并不是线程安全的并且这些操作必须在UI线程中执行。
在单线程模型中始终要记住两条法则:
1. 不要阻塞UI线程
2. 确保只在UI线程中访问Android UI工具包
android提供了几种在其他线程中访问UI线程的方法。
runOnUiThread(Runnable )
View.post(Runnable)
View.postDelayed(Runnable, long)
Handler
AsyncTask (本质上也是handler实现的好像)