我在说 Activity A 中有一段如下代码:
私有静态最终 int LOADER_ID = 0x200; 受保护的无效 onCreate(Bundle b) { ... ... 加载程序 previousLoader = getSupportLoaderManager().getLoader(LOADER_ID); ... ... }
观察 1:
用户在显示 Activity A 时更改设备的方向 - previousLoader 不为空。
观察 2:
用户从活动 A 导航到活动 B,在查看活动 B 时更改设备的方向并点击后退按钮 - previousLoader 为空。
我不确定为什么在案例 2 中 previousLoader 为空。使用 loader 的整个想法是避免每次在配置更改期间加载数据。Activity A 有一组片段,它们依赖于先前加载的数据来忠实地工作。由于这个问题,活动正在崩溃。这是一个不同的问题,但我很想知道为什么 getLoader 无法返回以前使用的加载器。
调用的生命周期方法的顺序与预期的一样:即,
OnPause, OnSaveInstanceState, OnStop, OnDestroy, OnCreate, OnStart, OnRestoreInstanceState and OnResume
在我的情况下,活动 B 是任何处理ACTION_VIEW