使用 chooserIntent 从 dropBox 获取文件时,activity 监听结果有时会重新启动(调用 onCreate)
While getting file from dropBox using chooserIntent , activity listening to result gets restarted(onCreate gets called) someTimes
我开始打算从文件存储中获取图像
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent, "Select Picture:"),
Constants.REQUEST_CODE_DOC_PROVIDER);
UI 包含安装在我的设备上且我对 dropbox 感兴趣的所有应用程序。
当我 select 从抽屉中编辑 dropBox 以获取图像时,我观察了日志并得出以下结论,请帮助我解决此问题
案例 1:
- 我选择图像,控制权返回 activity -> onActivityResult
案例二:
- 一旦我从抽屉中 select dropBox 选项,我的 activity 就死了。
- dropBox UI 当我选择图像控制返回活动时仍然存在
但是这次 oncreate 又被调用了
问题 1:为什么 activity 变成 DEAD 并且当控制返回 activity 时 onCreate() 被再次调用?
问题2:如何处理这种情况?这可以通过保存实例状态来处理吗?
谢谢!
1) 当你的调用activity不再在前台时,它可能会因为内存压力而被杀死。当您 return 它时,它将被重新创建。
2) 正确,这是预料之中的,应该使用 onSaveInstanceState
来处理。然后在 onCreate
中将此捆绑包提供给您:source
我开始打算从文件存储中获取图像
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent, "Select Picture:"),
Constants.REQUEST_CODE_DOC_PROVIDER);
UI 包含安装在我的设备上且我对 dropbox 感兴趣的所有应用程序。 当我 select 从抽屉中编辑 dropBox 以获取图像时,我观察了日志并得出以下结论,请帮助我解决此问题
案例 1:
- 我选择图像,控制权返回 activity -> onActivityResult
案例二:
- 一旦我从抽屉中 select dropBox 选项,我的 activity 就死了。
- dropBox UI 当我选择图像控制返回活动时仍然存在 但是这次 oncreate 又被调用了
问题 1:为什么 activity 变成 DEAD 并且当控制返回 activity 时 onCreate() 被再次调用?
问题2:如何处理这种情况?这可以通过保存实例状态来处理吗?
谢谢!
1) 当你的调用activity不再在前台时,它可能会因为内存压力而被杀死。当您 return 它时,它将被重新创建。
2) 正确,这是预料之中的,应该使用 onSaveInstanceState
来处理。然后在 onCreate
中将此捆绑包提供给您:source