本課講的是如何實(shí)現(xiàn)一個(gè)Runnable,在一個(gè)獨(dú)立線程上運(yùn)行Runnable.run()方法.Runnable對(duì)象執(zhí)行特別操作有時(shí)叫作任務(wù)。
Thread和Runnable都是基礎(chǔ)的類,靠他們自己,能力有限。作為替代,Android有強(qiáng)大的基礎(chǔ)類,像HandlerThread,AsyncTask,IntentService。Thread和Runnable也是ThreadPoolExecutor的基礎(chǔ)類。這個(gè)類可以自動(dòng)管理線程和任務(wù)隊(duì)列,甚至可以并行執(zhí)行多線程。
定義一個(gè)實(shí)現(xiàn)Runnable接口的類
實(shí)現(xiàn)run()方法
Runnable.run()方法包含了要執(zhí)行的代碼。通常,Runnable里可以放任何東西。記住,Runnable不會(huì)在UI運(yùn)行,所以不能直接修改UI對(duì)象屬性。與UI通訊,參考Communicate with the UI Thread
在run()方法的開(kāi)始,調(diào)用 android.os.Process.setThreadPriority(android.os.Process.THREAD_PRIORITY_BACKGROUND);設(shè)置線程的權(quán)重,android.os.Process.THREAD_PRIORITY_BACKGROUND比默認(rèn)的權(quán)重要低,所以資源會(huì)優(yōu)先分配給其他線程(UI線程)
你應(yīng)該保存線程對(duì)象的引用,通過(guò)調(diào)用 Thread.currentThread()
新聞熱點(diǎn)
疑難解答
圖片精選