首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Android AsyncTask 子類建構子傳遞 Context 的作用

     編輯:程式設計綜合問答

程式碼

class DownTask extends AsyncTask<URL, Integer, String> {
    Context mContext;
    public DownTask(Context ctx) {
        mContext = ctx;
    }
    // ...
}

解析

  • DownTask 繼承 AsyncTask,建構子接收 Context 並存為成員變數。
  • Context 作用:提供應用程式環境資訊,常用於:
    1. 存取資源(getResources()、getString())。
    2. 啟動 Service、發送 Broadcast、啟動 Activity。
    3. 取得系統服務(getSystemService())。
    4. 建立 View、Dialog、Toast 等 UI 元件。
  • 在 doInBackground 或 onPostExecute 中若需上述操作,即可透過 mContext 呼叫。

注意事項

  1. 避免長時間持有 Activity 參考導致記憶體洩漏;若任務長於 Activity 生命週期,建議傳 ApplicationContext(ctx.getApplicationContext())。
  2. 若僅在 doInBackground 做網路請求,onPostExecute 更新 UI,確保 mContext 仍為有效 Activity。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved