Каков правильный способ закрыть приложения на Android?

Я новичок в платформе Android, и это, наверное, немой вопрос, но ...

Как закрыть приложение?

Когда я вхожу в приложение и хочу выйти, я просто нажимаю «Домой» и продолжаю, но я просто установил приложение «Диспетчер задач», и я заметил, что все слева.

Есть ли способ выйти из приложений? Или мне нужно использовать диспетчер задач каждый раз, когда я что-то выхожу?

66 голосов | спросил Daniel Magliola 28 PM00000070000005731 2010, 19:56:57

6 ответов


45

Если вы выйдете из приложения с помощью кнопки BACK , тогда он вызовет onDestroy() для текущей активности, если вы нажмете HOME it только вызовы onPause()
Не волнуйтесь об этом, хотя в Акциях не будет разряжаться батарея, которую они только что оставили в памяти, чтобы в будущем их можно было открыть быстрее.

Я бы не рекомендовал использовать один из этих приложений для убийц задач. Android предназначен для того, чтобы держать этот материал в памяти по какой-либо причине, используя убийцу задачи - это еще один дополнительный сервис, отталкивающий вашу батарею. Что вам нужно посмотреть out - это приложения, которые запускают службы в фоновом режиме, например, Twitter или почтовые клиенты, вытягивающие свои серверы, любое хорошее приложение, у которого есть такая услуга, будет иметь возможность отключить его.

ответил schwiz 30 AM000000120000001831 2010, 00:38:18
25

Я уверен, что все, что я когда-либо читал, говорит о том, что кнопка Back - это правильный способ выхода из приложений.

Нажатие Home оставляет их в фоновом режиме до тех пор, пока Android не решит, что они больше не нужны, что может быть удобно, если вам просто нужно переключиться между приложениями, чтобы что-то проверить (удерживая «Дом» за пара секунд дает вам список недавно запущенных приложений, на которые вы можете переключиться на большинстве телефонов), но при выходе с помощью кнопки «Назад» приложение сообщает, что вы хотите, чтобы он закрылся.

ответил GAThrawn 29 PM00000070000000231 2010, 19:31:02
12

В некоторых приложениях есть опция «Выход» в их меню. Большинство не делают.

Вам не нужно беспокоиться об этом. Вы можете просто пойти в любое приложение, которое вам нужно. Android делает довольно хорошую работу, освобождая ресурсы, когда требуется.

Обновить : AndroidSpin сделал некоторые реальные исследования .

ответил ale 28 PM00000090000001631 2010, 21:55:16
7

Действия не выполняются в фоновом режиме

В Android, действия (т. е. часть приложения, которое вы видите) никогда не запускаются в фоновом режиме. Они могут работать только (и использовать энергию батареи), пока они находятся на экране. Действие перестает работать независимо от того, используете ли вы home или назад , чтобы оставить его. Единственное различие заключается в том, что данные Android запрашивают приложение для сохранения, поэтому ни один из них не является «правильным способом». Это зависит только от того, что вы хотите сделать.

Главная

Если вы используете home , Android оставляет приложение в том же состоянии, так что, если вы вернетесь к нему позже (например, через список последних приложений), он все равно будет в том же укажите, что вы оставили его: на том же экране, с теми же показаниями. Например, если это приложение электронной почты, и вы смотрите на одно электронное письмо, то оно будет помнить, какое письмо было, и показывать вам то же самое.

В конце концов (примерно через полчаса) Android приходит к выводу, что вы не вернетесь в приложение, поэтому он сбрасывает это состояние: в следующий раз, когда вы запустите приложение, оно начнется с фронтального /основного экрана. Чтобы продолжить пример, приложение электронной почты забудет адрес электронной почты и папки, на которые вы смотрели, и покажите вам папку входящих сообщений.

Назад

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

Как уже отмечалось, приложения могут управлять поведением кнопки back : например, веб-браузеры используют его для возврата в историю браузера. То, что я описал, является поведением по умолчанию кнопки «Назад», и разработчикам настоятельно рекомендуется сохранить такое поведение, чтобы избежать путаницы.

Кэшированные фоновые процессы

Какой бы метод вы ни использовали, Android оставит приложение в памяти (но не работает) столько, сколько сможет. Это должно быть более эффективным. Когда вы вернетесь в приложение, если он все еще в памяти, Android может запустить его снова сразу; если он еще не находится в памяти, тогда Android придется тратить время и энергию на загрузку приложения из хранилища снова.

В старых версиях Android приложения, оставшиеся в памяти в фоновом режиме, были включены в список «запущенных приложений». Это немного запутывает пользователей - это заставляет людей думать, что приложение действительно все еще работает, поэтому более новые версии называют эти приложения «кэшированными фоновыми процессами», чтобы было ясно, что они кэшированы, а не работают.

Что относительно фоновых приложений?

Ранее я сказал, что действия не работают в фоновом режиме. Итак, как ваш почтовый клиент проверяет почту? Помимо приложений, приложения могут иметь services . У служб нет графического интерфейса для вас, чтобы видеть или взаимодействовать, но они работают в фоновом режиме. Как правило, сервис будет выполняться нечасто, например, проверять почту один раз в час, но разработчик приложения может все время запускать службу, разряжая батарею.

Выход из операции с back или home не изменяет того, как Android обрабатывает любые службы из одного и того же приложения: служба может продолжать работать или запускаться позже в (в следующий раз при проверке почты).

Резюме

В целом, не имеет значения, используете ли вы back или home : это только изменяет то, что приложение показывает вам при следующем запуске. Это не влияет на использование батареи. Ни один из них не соответствует «выходу» программы на вашем ПК.

ответил Dan Hulme 29 52013vEurope/Moscow11bEurope/MoscowFri, 29 Nov 2013 14:54:10 +0400 2013, 14:54:10
3

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

Жизненный цикл приложения Android работает таким образом, что приложения, которые не находятся на вершине, перемещаются в состоянии паузы, которое больше не использует процессор; сохраняется только содержимое памяти в случае повторного открытия приложения; и при необходимости память будет освобождена.

При этом разработчик приложения должен следить за жизненным циклом приложения, когда он создает свое приложение, поэтому могут возникнуть некоторые ошибки или ошибки, которые приведут к тому, что приложение никогда не останавливается или не приостанавливается. Если вы сталкиваетесь с таким приложением и что его закрыть, вы можете сделать это через «Настройки» -> «приложения» -> «Управление приложениями», выбрав «Force stop» в приложении.

Но я бы действительно не рекомендовал использовать убийцу задачи, который постоянно работает на устройстве.

ответил jmbouffard 4 FebruaryEurope/MoscowbFri, 04 Feb 2011 16:08:43 +0300000000pmFri, 04 Feb 2011 16:08:43 +030011 2011, 16:08:43
1

Просто хочу добавить в ответ schwiz, что всего лишь несколько строк кода, необходимых для переопределения функциональности кнопки «Назад». Так что не всегда удобно закрывать приложение. Поэтому, если разработчик приложения не хочет закрывать приложение при нажатии кнопки «Назад», он не закрывается.

Несмотря на то, что большинство разработчиков приложений всплывают диалоговое окно с предупреждением при нажатии кнопки «Назад» в главном меню приложения, спрашивая, хочет ли пользователь выйти из приложения или нет, если вы нажмете «exit», он закрывает приложение.

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

Пользователь может просто не использовать приложения, которые не обеспечивают надлежащую функциональность закрытия, когда это не требуется. Менеджеры задач не являются хорошим способом закрыть приложение, так как оно может привести к сбою приложения и не дает им возможности сохранить свое состояние.

ОС закрывает приложение, когда это необходимо, поэтому вам не стоит слишком беспокоиться об этом.

Edit:
Существует возможность уничтожить приложения, как только вы покинете приложение, то есть при нажатии на домашний ключ. Вы можете перейти к Settings -> Developer Options -> Don't keep Activities. Хотя это опция разработчика, но если вы слишком обеспокоены приложениями, работающими в фоновом режиме, вы можете использовать эту опцию. Но имейте в виду, что не рекомендуется использовать не-разработчики.

ответил noob 20 Jpm1000000pmSun, 20 Jan 2013 18:57:28 +040013 2013, 18:57:28

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132