Отключить автозапуск приложения Android

1

Когда у Android (версия 2.3) слишком мало памяти для приложения. Я сделал тест на устройстве со свободной памятью объемом 140 МБ, когда я включил браузер и открыл четыре карты на 30-40 МБ. Мое приложение - 10 МБ, но если вы начнете использовать другое для Android, это не работает. Можно ли заставить Android никогда не отключать приложение? Это настолько раздражает, что у меня есть в этом приложении и переменные сеанса (ApplicationState) после того, как они начинают происходить странными вещами.

  • 0
    Foreground Service
Теги:
memory

3 ответа

3

Это можно только полностью предотвратить, изменив саму систему андроидов (т.е. Перестроить или минимально укоренять). Даже тогда, при определенном давлении памяти, предотвращении вашего приложения от убийства переводится на сбой, что пользователь пытался сделать на переднем плане, или даже на устройство в целом.

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

2

Простой ответ: "Это невозможно". Вы можете попробовать использовать службу переднего плана, вот пример, но даже тогда вам не гарантируется, что ваше приложение не будет убито. Если Android действительно нуждается в памяти для более важных приложений, например, телефонии.

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

  • 0
    Вау, это совершенно неприемлемо. Очевидно, Google ввел эту «функцию» в 2.2, так как раньше приложения не убивали без веской причины только потому, что вы переключились на другое приложение (например, чтобы получить часть информации, которая вам нужна для приложения, в котором вы работаете), заставляя во многих случаях необходимо повторно войти в систему.
  • 1
    Кроме того, такое поведение полностью разрушает поведение МНОГИХ приложений, которые я не могу контролировать - веб-браузер, YouTube, VNC Viewer, мои приложения для онлайн-банкинга и т. Д. Я устал от того, что Android убивает мои приложения только потому, что мне это нравится. Это неправильно, и Google должен быть высмеян за это плохое решение. Комментарии направлены на Google, а не на вас, между прочим, я просто высказываю свое мнение, поскольку у меня нет никакого контроля над Google, и я никак не могу это исправить.
Показать ещё 3 комментария
1

Нет, это невозможно. Лучшее, что вы можете сделать, это использовать службу переднего плана, но даже это не гарантирует, что ваше приложение не будет убито.

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

Вы понимаете жизненный цикл активности? Если нет, я предлагаю вам прочитать об этом.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню