Arhn - архитектура программирования

Android: несоответствие в документации. Когда приложение может быть убито?

Мне кажется, что эти статьи 1 и 2 не согласованы. В статье [1] говорится, что приложение можно убить только на определенных этапах его жизненного цикла. В статье [2] сказано, что да.

Какой правильный?

[1] Найдите таблицу и слово «убиваемый». [2] Ищите «Их убивают только в крайнем случае» в разделе, посвященном процессам переднего плана.

[Изменить 1 начало]

Изменил способ, которым я делал ссылки. Спасибо парню/девушке, которые сообщили мне об этом, отредактировав мой пост.

[Редактировать 2 конец]


  • Я не понимаю, где они противоречат. В первой статье говорится, что их НЕ убивают на определенных этапах жизненного цикла. Эти части должны быть очень короткими (с точки зрения времени, проведенного внутри метода). Активность проводит большую часть времени между перечисленными методами, где ее можно убить в любое время, как описано во второй статье. 22.05.2014
  • Приложение никогда не должно быть убито, вы можете завершить/уничтожить действия или услуги. Система должна принимать решение об уничтожении приложения. 22.05.2014

Ответы:


1

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

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

Какой правильный?

В общем и то и другое, хотя я думаю, что вторая ссылка немного устарела. Состояний важности процессов больше, и я не думаю, что Службы «переднего плана» больше не обрабатываются так же, как и пользовательский интерфейс «переднего плана». Насколько мне известно, служба «переднего плана» перемещает процесс в IMPORTANCE_PERCEPTIBLE, что имеет более низкий приоритет, чем IMPORTANCE_FOREGROUND. И, в результате (и, насколько мне известно), процесс, который имеет службу «переднего плана», но не имеет активности на переднем плане, с большей вероятностью будет завершен из-за нехватки памяти, чем процесс, который имеет активность на переднем плане. .

22.05.2014
  • Если процесс убит (и, как я понимаю, это может произойти в любой момент, хотя и редко, когда он находится на переднем плане), то я предполагаю, что мои действия также убиваются, независимо от того, в какой части их жизненного цикла они находятся. В этой статье рассказывается, как процессы убиваются безжалостно: как только Android определяет, что необходимо удалить процесс, он делает это безжалостно, просто принудительно убивая его., android-developers.blogspot.dk/2010/04/ 22.05.2014
  • @eversceptic: Если процесс убит (и, как я понимаю, это может произойти в любой момент, хотя и редко, когда на переднем плане), то, я думаю, мои действия также будут убиты, независимо от того, в какой части их жизненного цикла они находятся -- да, учитывая, что некоторые части их жизненного цикла происходят только тогда, когда они находятся на переднем плане. Следовательно, убиваемый столбец в вашей первой ссылке. 22.05.2014
  • Я правильно понял? Вы говорите, что поскольку активность может быть уничтожена только в тех состояниях, где она не находится на переднем плане, процесс неявно также может быть уничтожен только тогда, когда никакие действия не находятся на переднем плане? Возможно, вы правы, но как же тогда быть с услугами? AsyncTask и т. д. могут быть запущены? 27.05.2014
  • @eversceptic: а как насчет услуг? - они также влияют на состояния важности процесса, на которые я ссылался в своем ответе. 27.05.2014
  • Да, они влияют на приоритет/важность, но я считаю, что Android может убить все процессы в любой момент (я знаю, редко, но нет гарантии). Я понимаю, что на мой вопрос был дан ответ, потому что он действительно касается разницы в приложении/процессе/активности. Если вы хотите помочь мне в дальнейшем, я думаю, что мы должны продолжить как часть моего другого вопроса, который сейчас более актуален ссылка. PS: Не могу заставить эту @-вещь работать. 27.05.2014
  • Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..