たとえば Activity A に次のようなコードがあります。
private static final int LOADER_ID = 0x200; protected void onCreate(バンドルb) { ... ... ローダー previousLoader = getSupportLoaderManager().getLoader(LOADER_ID); ... ... }
観察 1 :
アクティビティ A が表示されている間に、ユーザーがデバイスの向きを変更しました - previousLoader が null ではありません。
観察 2 :
ユーザーがアクティビティ A からアクティビティ B に移動し、アクティビティ B を表示しているときにデバイスの向きを変更し、戻るボタンを押します - previousLoader は null です。
Case 2 で previousLoader が null である理由がわかりませんでした。アクティビティ A には、以前にロードされたデータに依存して忠実に動作する一連のフラグメントがあります。この問題により、アクティビティがクラッシュしています。それは別の問題ですが、getLoader が以前に使用されたローダーを返さない理由を知りたいと思っています。
呼び出されたライフサイクル メソッドの順序は、予想どおりでした。つまり、
OnPause, OnSaveInstanceState, OnStop, OnDestroy, OnCreate, OnStart, OnRestoreInstanceState and OnResume
私の場合、アクティビティ B は処理する任意のアクティビティでしたACTION_VIEW