Почему Android OS должны иметь приложения, работающие в фоновом режиме, которые никогда не выбираются - PullRequest
0 голосов
/ 19 декабря 2010

Почему ОС Android не может быть больше похожа на ОС Apple на iPhone / Ituch? где приложение не запускается, пока оно не выбрано. это также закрыто; остается закрытым, пока не откроется снова.

Я думаю, что это заставит телефоны Android работать быстрее и эффективнее (батарея будет работать дольше).

Ответы [ 2 ]

4 голосов
/ 19 декабря 2010
  1. Многие приложения для Android (я думаю, что большинство из них) работают именно так, как вы их описываете - у них есть действие, которое закрывается или приостанавливается, как только вы его покидаете - приостановленное действие потребляет только память и может бытьотбрасывается в одно мгновение.(iOS делает почти то же самое)
  2. Даже на iPhone есть приложения, которые работают в фоновом режиме, наиболее ярким примером является Mobile Safari.Разница в том, что только Apple может писать приложения, которые работают в фоновом режиме без ограничений, и что обычный пользователь не имеет возможности контролировать эти фоновые приложения.(это привело к серьезным проблемам с завышенной ценой в случае, когда пользователи оставляли Mobile Safari на странице, на которой был загружен потоковый контент.)
  3. Существуют законные случаи использования, когда вам нужно приложение для продолжения работы в фоновом режиме (загрузка, загрузка, воспроизведение музыки, ожидание вызова VoIP) - ни у кого из сторон не было возможности сделать это на iPhone до iOS4, что делало такие приложения, как Pandora или Skype, почти бесполезными.
  4. Навсегдаили плохо, Apple последовательно ограничивает то, что сторонним разработчикам разрешено делать на устройствах iOS (политика App Store, частные API, специализированные API для фоновых задач, упомянутых в пункте 3).С другой стороны, Google, похоже, предпочитает, чтобы сторонние разработчики Android имели доступ к тем же API-интерфейсам, что и разработчики приложений Google для Android.
  5. Самая большая проблема с производительностью Android в IMO - это отзывчивость, исправление которой намного большечем сказать "нет приложений в фоновом режиме".(Подробнее см. http://android -developers.blogspot.com / 2010/12 / new-gingerbread-api-strictmode.html )
3 голосов
/ 19 декабря 2010

Блог разработчика Android объясняет причину многозадачности Android.

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

Эти конкурирующие ограничения были ключевой мотивацией для дизайна Android.

Тот факт, что вы можете видеть процесс приложения "работающим", не означает, что приложение работает или что-то делает.

В статьях, на которые даны ссылки, также есть интересные вещи по теме

Радиоактивный Як :

Когда в вашем приложении должна быть кнопка выхода? Краткий ответ: Никогда.

Wickenden

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

Система Android от Google была разработана для многозадачности таким образом, чтобы позволить программам быть готовыми мгновенно реагировать на изменение условий окружающей среды (сигнал тревоги, чтобы разбудить вас, уведомление о том, что вы прибыли в пункт назначения и т. Д.) Как а также на самом деле «работает» и потребляет ресурсы, когда это необходимо. Кроме того, сама система Android хорошо разбирается в том, как она справляется с нехваткой памяти, и способна полностью уничтожать приложения таким образом, чтобы их состояние запоминалось и могло быть восстановлено при наличии большего объема памяти. Task Killers (чье поведение радикально ограничено в Android 2.2 «Froyo») на самом деле могут причинить вред, разрушив процесс, который другим приложениям необходимо для правильной работы.

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