woff 發表於 2017-8-17 20:29:13

android中延遲執行某個任務(線程Thread isalive無法使用 dailog)


由於線程是非同步處理,所以用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);


參考文章


頁: [1]
查看完整版本: android中延遲執行某個任務(線程Thread isalive無法使用 dailog)