Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
ANDROID 背景作業處理
Thread




Thread類別中,並沒有thread執行完成的通知
機制,如果想讓thread做完事情後進行通知的
動作,那就必須透過handler的訊息發送機制,
在thread做完事後,送訊息至訊息佇列。
Android主Thr...
Thread
Handler
AsyncTask Class
AsyncTask的定義:
public abstract class
AsyncTask<Params, Progress, Result> {…}
 三種泛型類型分別代表“啟動任務執行的輸入參
數”、“後台...
AsyncTack 使用時


1.非同步任務的物件必須在UI線程(主thread)中創
建。
2.execute(Params... params)方法必須在UI線程中
呼叫。

3.不要在主thread呼叫onPreExecute(),
...
Android背景處理解決方法
Upcoming SlideShare
Loading in …5
×

Android背景處理解決方法

499 views

Published on

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

Android背景處理解決方法

  1. 1. ANDROID 背景作業處理
  2. 2. Thread   Thread類別中,並沒有thread執行完成的通知 機制,如果想讓thread做完事情後進行通知的 動作,那就必須透過handler的訊息發送機制, 在thread做完事後,送訊息至訊息佇列。 Android主Thread(UIThread),只要超過5秒沒 回應(或OnCreate()超過10秒),程式就會被當 作無回應。
  3. 3. Thread
  4. 4. Handler
  5. 5. AsyncTask Class AsyncTask的定義: public abstract class AsyncTask<Params, Progress, Result> {…}  三種泛型類型分別代表“啟動任務執行的輸入參 數”、“後台任務執行的進度”、“後台計算結果的 類型”。在特定場合下,並不是所有類型都被使 用,如果沒有被使用,可以用java.lang.Void類 型代替。 
  6. 6. AsyncTack 使用時  1.非同步任務的物件必須在UI線程(主thread)中創 建。 2.execute(Params... params)方法必須在UI線程中 呼叫。 3.不要在主thread呼叫onPreExecute(), doInBackground(Params... params), onProgressUpdate(Progress... values), onPostExecute(Result result)這幾個方法。 4.不能在doInBackground(Params... params)中更 改UI。 5.一個任務物件只能執行一次,如果執行第二次會 出錯。

×