UI线程模型的两条规则:
1、不要阻塞UI线程,否则超过5秒出现ANR(Application Not Responding)应用程序无法响应的错误危险;
2、不要在非UI线程中更新UI,否则直接报错;
解决两条规则之间的矛盾:
1、把主线程请到子线程的家里来:Activity.runOnUiThread(Runnable);
View.post(Runnable);
View.postDelayed(Runnable,long);//long表示时间
2、当子线程有更新UI需要的时候,将需要更新的数据封装到主线程中更新,就是Handler机制;
3、使用异步任务AsyncTask解决问题:编写一个类继承AsyncTask实现doInBackground()方法。