|
由於線程是非同步處理,所以用ProgressDialog 時 Thread.isAlive()會咬住讓ProgressDialog無法正常秀出會用Thread.isAlive()是因為主線程執行完才讓後面指令執行,
這時用方法一、三,是無法使用的
只能初估線程幾秒內能完成主項目並限制延遲時間來處理
android中延遲執行某個任務
android App開發在某些情況下需要有延時功能,比如說App首頁顯示定格3秒,然後自動跳到登錄頁的情況,這就好比是一個預加載,但是這個預加載可能瞬間就完成了,撐不到3秒鐘,這是就要求你做延時處理。
下面是三種方法:
一、線程
- new Thread(new Runnable()
- {
- public void run()
- {
- Thread.sleep(XXXX);
- handler.sendMessage();----告诉主線程執行任務
- }
- }).start
複製代碼
二、延時器
- TimerTask task = new TimerTask()
- {
- public void run()
- {
- //execute the task
- }
- };
- Timer timer = new Timer();
- timer.schedule(task, delay);
複製代碼 timer.schedule(task, delay);delay是秒數,單位毫秒
三、android消息處理
- new Handler().postDelayed(new Runnable(){
- public void run()
- {
- //execute the task
- }
- }, delay);
複製代碼
參考文章
|
|