Android中實(shí)現(xiàn)Runnable接口簡(jiǎn)單例子
本課講的是如何實(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接口的類
public class PhotoDecodeRunnable implements Runnable {
...
@Override
public void run() {
/*
* Code you want to run on the thread goes here
*/
...
}
...
}
實(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()
class PhotoDecodeRunnable implements Runnable {
...
/*
* Defines the code to run for this task.
*/
@Override
public void run() {
// Moves the current Thread into the background
android.os.Process.setThreadPriority(android.os.Process.THREAD_PRIORITY_BACKGROUND);
...
/*
* Stores the current Thread in the PhotoTask instance,
* so that the instance
* can interrupt the Thread.
*/
mPhotoTask.setImageDecodeThread(Thread.currentThread());
...
}
...
}
- android Gallery組件實(shí)現(xiàn)的iPhone圖片滑動(dòng)效果實(shí)例
- Android實(shí)現(xiàn)GPS定位代碼實(shí)例
- Unity3D游戲引擎實(shí)現(xiàn)在Android中打開(kāi)WebView的實(shí)例
- android界面布局之實(shí)現(xiàn)文本塊布局效果示例
- Android中自定義加載樣式圖片的具體實(shí)現(xiàn)
- android自定義按鈕示例(重寫imagebutton控件實(shí)現(xiàn)圖片按鈕)
- android實(shí)現(xiàn)通知欄下載更新app示例
- Android實(shí)現(xiàn)的可以調(diào)整透明度的圖片查看器實(shí)例
相關(guān)文章
Android使用內(nèi)置WebView打開(kāi)TextView超鏈接的實(shí)現(xiàn)方法
這篇文章主要介紹了Android使用內(nèi)置WebView打開(kāi)TextView超鏈接的實(shí)現(xiàn)方法,文中給出了詳細(xì)的示例代碼,對(duì)各位Android開(kāi)發(fā)者們具有一定的參考價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-03-03android教程之使用popupwindow創(chuàng)建菜單示例
這篇文章主要介紹了android使用popupwindow創(chuàng)建菜單的示例,需要的朋友可以參考下2014-02-02Android開(kāi)發(fā)仿bilibili刷新按鈕的實(shí)現(xiàn)代碼
這篇文章主要介紹了Android 仿bilibili刷新按鈕的實(shí)現(xiàn)代碼,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-10-10使用Flutter開(kāi)發(fā)一個(gè)圖片UI組件的代碼示例
在移動(dòng)應(yīng)用開(kāi)發(fā)中,圖片展示是一個(gè)常見(jiàn)的需求,為了滿足不同場(chǎng)景的圖片展示需求,我們可以開(kāi)發(fā)一個(gè)靈活配置的圖片UI組件,本文將介紹如何使用Flutter開(kāi)發(fā)一個(gè)圖片UI組件,并提供了豐富的配置選項(xiàng),需要的朋友可以參考下2023-09-09Android點(diǎn)擊事件派發(fā)機(jī)制源碼分析
這篇文章主要為大家詳細(xì)介紹了Android點(diǎn)擊事件派發(fā)機(jī)制源碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-08-08Android身份證號(hào)有效性校驗(yàn)工具類案例
這篇文章主要介紹了Android身份證號(hào)有效性校驗(yàn)工具類案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-09-09Android實(shí)現(xiàn)聯(lián)動(dòng)下拉框二級(jí)地市聯(lián)動(dòng)下拉框功能
這篇文章主要介紹了Android實(shí)現(xiàn)聯(lián)動(dòng)下拉框二級(jí)地市聯(lián)動(dòng)下拉框功能,本文給大家分享思路步驟,給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-12-12