严格遵守Android平台进程与线程安全管理机制。接下来是在实际开发中应该遵循的两个原则:
在UI主线程中,只处理与UI相关及用户交互的工作,耗时的工作一律交由后台工作线程去搭理。常见的耗时工作处理方式有:
AsyncTask;
Handler、MessageQueue、Looper;
ExecutorService(execute/submit)
在工作线程中,只做自己分内的事。决不干涉UI主线程的工作。在执行过程中如果存在涉及到UI的操作(如:更新视图、重绘等),一律将其转交给UI主线程进行处理。常见的转交方式有:
Activity.runOnUiThread(new Runnable(){...});
View.post(new Runnable(){...});
View.postDelay(Runnable(){...},long)