Android Java: понимание жизненной активности? - PullRequest
0 голосов
/ 23 февраля 2012

Я новичок в разработке для Android и узнаю, как у Android есть жизнь.

Если у меня есть приложение, и я нажимаю кнопку, чтобы использовать функциональность камеры телефона, например, так ...

public void onClick(View v) {
                // TODO Auto-generated method stub
                Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_VIDEO_CAPTURE);
                startActivityForResult(cameraIntent, CAMERA_VIDEO_REQUEST);
            }

Как работает onPause() или onDestroy() и другие вещи?

У меня это вне onCreate()

protected void onPause(){
    super.onPause();

}

Если я хочу нажатькнопку «Назад» или нажмите кнопку «Домой», нужно ли отключить или приостановить работу камеры?Если это так, я все еще пытаюсь понять, как это сделать?

Спасибо!

1 Ответ

1 голос
/ 23 февраля 2012

Когда вы начинаете новую активность с текущей активности, есть две возможности вашей текущей активности

  • Пауза
  • Стоп

Приостановлено: Еще одно действие находится на переднем плане и имеет фокус, но это все еще видно.То есть другое действие видно поверх этого, и это действие частично прозрачно или не покрывает весь экран.Приостановленная активность полностью активна (объект Activity сохраняется в памяти, он сохраняет всю информацию о состоянии и членах и остается подключенным к диспетчеру окон), но может быть уничтожен системой в ситуациях с чрезвычайно низким объемом памяти.

Остановлено: Действие полностью скрыто другим действием (действие теперь находится в «фоновом режиме»).Остановленная активность также все еще жива (объект Activity сохраняется в памяти, он сохраняет всю информацию о состоянии и членах, но не привязан к диспетчеру окон).Тем не менее, он больше не виден пользователю и может быть убит системой, когда требуется память в другом месте.

Например, если вы запускаете действие «Камера» из своего действия, то текущее действие будет остановлено, посколькуАктивность камеры охватывает весь ваш экран, и ваша активность не видна для активности камеры.

Здесь - полное описание.

Вы запускаете действие камеры с помощью намерения.таким образом, вам не нужно обрабатывать методы обратного вызова для действия камеры.Система будет управлять методом обратного вызова, которым вы не обязаны управлять. Вам просто нужно управлять результатом действия, которое вы получите в своей активности от действия камеры.

РЕДАКТИРОВАТЬ

И, конечно же, вам никогда не придется напрямую вызывать какие-либо методы жизненного цикла Activity. Система автоматически вызывает этот метод в соответствии с состоянием активности. Вам просто нужно написать свою реализацию в этих методах, чтобы выполнить свою работу.

...