現在完成乙個計數任務,從1計到100,在textview中顯示進度。如果把這些迴圈加的操作放在oncreat()方法中,肯定會出現阻塞。利用asynctask類在後台進行操作,可以使主ui執行緒順暢進行下去。這個類裡主要涉及到3個方法,doinbackground(),onprogressupdate(),onpostexecute(),這3個方法中的引數又和類中的3個變數有直接關係,asynctask.
doinbackground()就是在後台執行;
onprogressupdate()是在資料更新時呼叫,
onpostexecute()是完成時呼叫
package com.example.chapter1;import android.os.asynctask;
import android.os.bundle;
import android.os.systemclock;
import android.widget.textview;
public class mainactivity extends activity
private class countingtask extends asynctask
@override
/*** 在後台執行並處理後台操作
*/protected integer doinbackground(void... params)
}return i;
} /**
* 將後台操作與主ui執行緒聯絡起來的方法,資料更新時呼叫
* @param progress 完成度
*/protected void onprogressupdate(integer... progress)
/*** 將後台操作與主ui執行緒聯絡起來的方法,完成時呼叫
* @param result 結果
*/protected void onpostexecute(integer result)}}
效果就是上面這樣。
2.用thread的方法,這個是傳統的方法,**如下:
new thread(new runnable()
});}
}tv.post(new runnable()
});}
}).start();
android非同步操作
1 要實現非同步操作就要用到android提供乙個asynctask類,這個類是乙個泛型。下面附上我的 我直接在 中說明 package com.example.async2 import android.os.asynctask import android.view.view import an...
springBoot非同步執行緒操作
springboot專案中我們常常會有比較耗時的操作,而前端不關心你的處理結果時。比如給使用者傳送郵件,此時,我們就可以在使用者操作時使用非同步來完成傳送郵件,不需要等郵件傳送完成後再給到前端相應。下面詳細介紹一下具體步驟 configuration enableasync public class...
Android執行緒及多執行緒總結
執行緒 cpu能夠運算排程的最小單位。執行緒自己不擁有系統資源,與其它執行緒共享所在程序的資源 程序 系統進行資源分配和排程的基本單位。執行緒作用 減少併發執行任務的開銷,提供系統的併發效能。定義 android系統在程式啟動時會自動啟動乙個執行緒,這個執行緒叫主線程。作用 處理四大元件與使用者互動...