方法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 通過構造方法,建立最基本的執行緒池,...