好吧,在我的应用程序中,我使用默认相机和 Android 画廊 startActivityforResult 作为;
Intent i = new Intent("android.intent.action.PICK",
MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
i.setType("image/*");
startActivityForResult(i, this.SELECT_PICTURE);
我也能赶上 onActivityResult 。但是,如果内存不足并且我启动了此活动,我会体验到系统正在杀死我的父活动,即使活动返回一个值,我也会丢失所有局部变量(并且再次调用 onCreate())。只有 onResume() 应该被再次调用。
我试了几次,我很确定它与内存问题有关。如果有足够的内存进程成功执行。我怎样才能防止这种行为?
由于Android不会在前台杀死应用程序,我还可以使用此功能吗?我认为我的问题与这个几乎相似。
解决方案
除了Yahel提供的解决方案外,还可以使用以下方法。
@Override
public void onSaveInstanceState(Bundle savedInstanceState){
super.onSaveInstanceState(savedInstanceState);
}
@Override
public void onRestoreInstanceState(Bundle savedInstanceState){
super.onRestoreInstanceState(savedInstanceState);
}