如何在Android應用程序中存儲上下文? 通常需要在傳統類中使用它,例如Activity(數據庫適配器)。如何存儲上下文?
我嘗試在靜態字段中保存上下文,但它可以調用內存泄漏。
也許,如果我在傳統類中擴展Context並且在裏面調用getApplicationContext()
會更好嗎?
如何在Android應用程序中存儲上下文? 通常需要在傳統類中使用它,例如Activity(數據庫適配器)。如何存儲上下文?
我嘗試在靜態字段中保存上下文,但它可以調用內存泄漏。
也許,如果我在傳統類中擴展Context並且在裏面調用getApplicationContext()
會更好嗎?
這樣做的好方法是在構造函數中傳遞Context
。您可以在每個示例代碼中看到Context正在傳遞到自定義類中作爲未來使用的參數。
即fedorvlasov's LazyListAdapter(這是從網頁延遲加載圖像的非常好的練習),您可以看到構造函數如下所示:public LazyAdapter(Activity a, String[] data)
。
這樣,每當您在活動之外並且需要使用它時,您已經將其存儲爲字段。
這樣做的另一種方式(不推薦)是使用應用程序上下文的靜態字段。
public static final Context = getApplicationContext();
你把這個放在啓動活動中,你有它,在應用程序的整個生命週期內訪問應用程序上下文。
最好的方法是你發送'Context'變量到常規類的每個構造函數(需要上下文)..並將其作爲該類的私有成員存儲... – 2012-07-08 05:32:58