2013-08-25 4 views
3

Недавно я закончил свое первое приложение на Android и имел довольно простой вопрос, на который я не могу найти ответ. Как и в большинстве приложений, когда один из них установлен на вашем телефоне, он появится в списке «Настройки -> Приложения». Созданное приложение появляется в разделе «Загруженные» вместе с другими загруженными приложениями, такими как Facebook и магазин Google Play. Когда одно из этих приложений выбрано из этого списка, две кнопки отображаются вверху - «Силовая остановка» и «Удалить». Некоторые из приложений в этом списке имеют «Force Stop» greyed out (что, я уверен, означает, что это было вынуждено остановиться), и другие приложения позволят вам нажать эту кнопку.«Force stop» на новом приложении для Android

Что бы я хотел знать, если «Force Stop» не является серым и по-прежнему доступен для кликов, значит ли это, что от моего устройства Android требуется некоторое время автономной работы (даже если это очень маленькая сумма) все еще выполняя какой-то процесс или занимая ресурсы? Я добавил метод finish() для своего нового приложения, когда пользователь нажимает кнопку «Назад», чтобы выйти из приложения, но кнопка «Силовая остановка» по-прежнему доступна. Я знаю, что Android обрабатывает свои собственные вещи и убивает приложения, когда это необходимо, но будет ли мое новое приложение занять некоторое время автономной работы до того, как Android полностью убьет приложение? Я просто хотел бы узнать для учебных целей и убедиться, что мне не нужно продолжать добавлять код в мое новое приложение. Спасибо.

ответ

3

Это значит, что ваше приложение работает в фоновом режиме, как мини-приложение на ПК. Finish фактически не убивает приложение, только активность (приложение может содержать несколько видов деятельности и услуг) - любая другая деятельность/служба все еще будет работать. Он будет потреблять энергию только в том случае, если какая-либо услуга или поток все еще находятся вокруг обработки, но она будет продолжать обрабатывать ОЗУ. Это то, как Android обычно работает, и все это ожидаемое поведение.

0

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

Вызов finish(); является предпочтительным, поскольку принудительное закрытие приложения иногда может быть вредным. Если для Android потребуется память, она полностью закрывает ваше приложение и восстанавливает небольшой объем памяти, который он удерживал.

Если вы считаете, что абсолютно необходимо полностью убить приложение, вы можете позвонить System.exit();, однако он более удобен для пользователя, чтобы позволить Android взять под контроль ваше приложение, как только вы закончите с ним.

Смежные вопросы