安卓 多執行緒

2021-06-28 05:36:05 字數 1042 閱讀 3023

方法1:建立單獨的執行緒

new thread(new runnable() 

}).start();

方法2:利用執行緒池:

private executorservice executorservice = executors.newfixedthreadpool(4);
上面是建立乙個固定大小的執行緒池,這裡面的執行緒不會被關閉,一旦有任務則會分配給執行緒,但是如果執行緒都在執行,則排隊等候

private executorservice executorservice = executors.newcachedthreadpool();
這樣則是建立乙個快取的執行緒池,執行緒被建立之後不會立即被銷毀,而是作為備用執行緒快取在那裡,當乙個任務結束之後馬上又有第二個任務,這個執行緒就會去執行第二個任務,省去了建立執行緒和銷毀執行緒的步驟,節省開銷

將任務投入執行緒池的方法:

executorservice.submit(work);
其中的work是runnable類

任務需要這樣寫:

runnable work = new runnable() 

};

執行緒中操作ui的方法

方法之一是handler:

final handler handler = new handler()

}};

msg是為了區分不同的ui操作,比如點這個按鈕就改變這個label,點那個按鈕就改變那個,需要寫不同的message

下面是執行緒中的操作:

message message = new message();

message.what=1;

handler.sendmessage(message);

這樣的話uiwork()就會在主線程中完成,而不是在建立的執行緒中,因此不能在handler中執行耗時任務

安卓 多執行緒

第一種實現子執行緒的方法 繼承thread類 private class mythread extends thread new mythread start 第二種實現子執行緒的方式 實現runnable 任務 介面 private class myrunnable implements runn...

安卓多執行緒複習

程序可以全域性設定,谷歌api原話如下 當記憶體不足,而其他更急於為使用者提供服務的程序又需要記憶體時,android 可能會決定在某一時刻關閉某個程序。正因如此,系統會銷毀在被終止程序中執行的應用元件。當這些元件需再次執行時,系統將為其重啟程序。決定終止哪個程序時,android 系統會權衡其對使...

安卓執行緒池理解

在安卓開發中經常會遇到處理多張,或者分片上傳等需要使用多執行緒的情況,如果簡單的通過new thread建立執行緒,會造成執行緒的頻繁建立和銷毀,占用大量的資源。並且頻繁的呼叫gc機制,這會使效能降低,又非常耗時。最基本的threadpoolexecutor 1 通過構造方法,建立最基本的執行緒池,...