Android Support Library のよくあるクラッシュ その2「AsyncTasks と Configuration 変更」

 

AsyncTasksは、バックグラウンド処理を実行し、必要に応じて終了後のUIを更新することに使用されます。
AsyncTasksを使用し、コンフィギュレーションの変更を扱うことはよくあるバグとなることがあります。

Fragment は AsyncTask の実行中にその Activity から切り離され、その Activity にアクセスしようとする場合は、アプリケーションは次のようなコールスタックでクラッシュします。

java.lang.IllegalStateException: Fragment MyFragment not attached to Activity
 at android.support.v4.app.Fragment.getResources(Fragment.java:551)
 at android.support.v4.app.Fragment.getString(Fragment.java:573)

Fragment は、アプリケーションのリソースにアクセスするために Activity を必要としています。

続きを読む >>