私のアプリは、私はそれがバックグラウンドで実行したまま、その後、画面上のアプリを持つに戻ったときにクラッシュし。私はそれがonResume()で実行されている私のAsyncTaskと関係があると信じています。このanswerのコメントの1つに、「アクティビティのインスタンスのトレースを保持し、非同期タスクがnullでないことを待たせる」と言う人がいます。だから、それがヌルでなくなるまで、それをどのくらい正確に待つのですか?)(getActivityを呼び出すAsyncTask内で安全に
そして一般的には、あなたが活動/フラグメントのライフサイクルの変更時に動作しますフラグメント内で実行されているAsyncTaskを持っていたときに活動を参照するための最も安全な方法は何ですか?
パス活動。 – dex
@dexので、AsyncTaskでgetActivity()を呼び出さずに、AsyncTaskへのアクティビティの参照を渡すことを意味していますか?これにより、自動的にアクティビティがガベージコレクションされなくなります。 –
AsyncTaskを使用しないでください。代わりにローダーを使用します(AsyncTaskLoaderは適切な開始点です)。これは、構成の変更を適切に処理するように設計されています。 – kcoppock