Я пытаюсь понять это на какое-то время, но, похоже, я сейчас застреваю. В основном я пытаюсь понять разницу между тем, когда действие уничтожается и воссоздается, и когда процесс, на котором он выполняется, уничтожается и воссоздается.Разница между повторным созданием и повторным созданием процесса в android
В соответствии с диаграммой здесь: http://developer.android.com/reference/android/app/Activity.html, кажется, что действия воссозданы тогда и только тогда, когда восстановлен базовый процесс приложения.
Однако, скажем, создать простую программу с помощью одной кнопки:
public class HelloAndroidActivity extends Activity {
private int test = 15;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button button = (Button)findViewById(R.id.button1);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Toast.makeText(getApplicationContext(), test + " ", Toast.LENGTH_SHORT)
.show();
test++;
}
});
}
}
Теперь он покажет мне цифры 15, 16, 17 ... когда я нажимаю на кнопку. Тем не менее, если я покину программу и перейду в главное меню и повторно введите ее, либо я изменил ориентацию экрана, тогда она будет обновлена до 15. Таким образом, активность должна быть воссоздана.
Однако программа работает все время (как вы можете видеть, когда вы переходите в диспетчер задач), поэтому процесс не был уничтожен.
Аналогично, если я изменяю тест переменной на статическую переменную, то он сохраняет свое значение, несмотря на уничтожение и повторное создание Activity. Таким образом, процесс должен быть отличным от Activity.
В соответствии с диаграммой на сайте Android Activity активность создается только при слишком маленьком объеме памяти для базового процесса, но здесь она, похоже, воссоздана во многих других сценариях, таких как экран ориентация, переход в главное меню и т. д.
Итак, мой вопрос: в чем разница между жизненным циклом Activity и жизненным циклом процесса? И есть ли путь воссоздания активности, который не изображен на диаграмме Android, которая сохраняет основной процесс?
Большое спасибо за любую помощь, которая может возникнуть с этим вопросом!
некоторая информация об этом: http://developer.android.com/guide/topics/fundamentals/processes-and-threads.html – zapl