Ну, в моем приложении я использую камеру по умолчанию и галерею 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);
}