編輯:關於Android編程
另,Activity的MainUI線程默認是有消息隊列的。所以在Activity中新建Handler時,不需要先調用Looper.prepare()。
那麼遇到了有多Low的問題呢:
項目中重寫了一個HandlerThread,然後定義了post方法,然後在主線程中如下實現:
AsyncHandler.post(new Runnable() {
@Override
public void run() {
try {
Looper.prepare();
// 一坨要異步執行的代碼******
Looper.loop();
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
那麼明眼人一看就看出問題來了 ,這代碼一跑異步代碼肯定執行不到啊,為啥呢,且看下prepare的實現:
/** Initialize the current thread as a looper.
* This gives you a chance to create handlers that then reference
* this looper, before actually starting the loop. Be sure to call
* {@link #loop()} after calling this method, and end it by calling
* {@link #quit()}.
*/
public static void prepare() {
prepare(true);
}
private static void prepare(boolean quitAllowed) {
if (sThreadLocal.get() != null) {
throw new RuntimeException(Only one Looper may be created per thread);
}
sThreadLocal.set(new Looper(quitAllowed));
}
So,簡單,卻是問題~
謝謝大家對該系列博文的支持與關注,我們現在趁熱打鐵正式開始我們的Android天氣軟件的開發吧!沒有閱讀過之前關於該軟件的功能需求的同學可以先看一下 一起來開發Andro
自從騰訊QQ中的圓形頭像,火了起來後,現在我們在一些應用中都能看到圓形頭像的身影,在個人主頁或者個人資料面板中使用圓形頭像,會使整個布局變得更加優雅現在我們來進行第一步,
PS一句:當初你所逃避的問題終會在未來的某一天重新出現在你面前,因此,當你第一次遇到它時,請不要逃避。相信很多初學者對XML布局怎麼加載到Activity上並且顯示在手機
Adapter的作用:數據在adapter中做了處理之後,顯示在視圖上 一般的對於ArrayAdapter來說,只需要把一個數組和一個樣式傳遞給ArrayAdapter之