Apress Pro Android 4では、デバイスの回転画面を避けるためにその:アンドロイドAsyntask:コンテキストの使用弱参照は、著者が述べている
[...]現在の活動を実行するコンテキストが無効になりますデバイス回転される。 [...]
しかし、著者はちょうどこれを示唆し、どのように行われているかは分かりません。これをやった人は、私に例をあげてください。
Apress Pro Android 4では、デバイスの回転画面を避けるためにその:アンドロイドAsyntask:コンテキストの使用弱参照は、著者が述べている
[...]現在の活動を実行するコンテキストが無効になりますデバイス回転される。 [...]
しかし、著者はちょうどこれを示唆し、どのように行われているかは分かりません。これをやった人は、私に例をあげてください。
あなたのアクティビティを渡す場合は、AsyncTask
のどこかにあるでしょう。次に、その参照を弱い参照に保存します。その後、参照を解除してonPostExecute
で再度使用することができます。
クラスのメンバー:AsyncTask
で
WeakReference<Activity> weakActivity;
どこか、おそらくどちらかのコンストラクタまたはonPreExecute
:
weakActivity = new WeakReference<Activity>(activity);
onPostExecute
で:
Activity activity = weakActivity.get();
if (activity != null) {
// do your stuff with activity here
}
ため、このリンクは、コンテキストを保存するために弱い参照の一例です。
WeakReference<Context> cReference = new WeakReference<Context>(getApplicationContext());
このweakReferenceを使用して、Activity/Context関連の作業を行うことができます。
素敵な、それは本当に助けのおかげ –
'activity'それでも無効な参照i f GCは時間が経つわけではありませんでした。私が間違っていれば私を修正してください。 – q126y