Вот хорошая инфа о особенностях многозадачности андроида:
[spoiler][Это сообщение Dianne Hackborn — разработчика, который находится рядом с центром всего, что связано с платформой Аndroid. — Tim Bray]Многозадачность в Android Android достаточно уникален в способе организации одновременной работы нескольких приложений.Разработчики пришедшие с др угих платформ, могут быть удивлены тем, как это работает.Понимание этого важно для р азработки хорошо работающих приложений и их бесшовной интеграции с остальной частью платформы Android.В этой статье рассматривают ся причины такого подхода к многозадачности, его влияния на работу приложений, и как лучше всего воспользоваться уникальными возможности платформы.Проектные требования Мобильные устройства имею т ряд технических ограничений и пользовательских требований, несвойственных настольным или вэб системам.Ниже четыре ключевых огра ничения, надо которыми мы работали в процессе разработки многозадачности в Android:* Мы не хотим требовать от п ользователя, чтобы он каждый раз закрывал приложения после того как закончит с ним работать. Подобное плохо работает в мобильной среде, где имеют место повторяющиеся в течение дня кратковременные взаимодействия с широким спектром приложений.* Мобильные устройства не м огут себе позволить роскошь подкачки, поэтому они имеют довольно жёсткие ограничения на использование памяти. Robert Loveнаписал очень х орошую статью на эту тему.* Переключение приложени й на мобильных устройствах очень критично. Мы нацелены на то, чтобы запуск новых приложений происходил менее чем за одну секунду. Это особенно важно, например, в случае, когда пользователь решает во время просмотра видео прочитать новое SMS, а затем вновь возвращается к просмотру. Заметное ожидание в данном случае вызвало бы гнев пользователей.* Доступные программные и нтерфейсы должны быть достаточными для написания встроенных приложений в рамках нашей философии «все приложения созданы равными». Это означает, что фоновое воспроизведение музыки, синхронизация данных, GPS навигация и загрузка приложений должны быть реализованы с помощью тех же программных интерфейсов, что и приложения сторонних разработчиков.Первые два требования конф ликтуют между собой. Мы не хотим чтобы пользователь заботился о закрытии свои приложений, наоборот мы хотим создать видимость, что все приложения всегда запущены. В то же время мобильные устройства имеют жёсткие ограничения на использование памяти, поэтому система начнет очень быстро деградировать как только ей понадобится больше памяти, чем доступно; в отличие от настольного компьютера, который слегка замедлится во время сброса страницы памяти в файл подкачки. Эти конкурирующие ограничения были главным стимулом для разработки Android.В какой момент приложение «останавливается»?Источник заблуждений относ ительно многозадачности в Android кроется в различии процесса и приложения. В Android они не являются тесно связанными сущностями: приложение может казаться запущенным даже при отсутствии процесса; несколько приложений могут использовать один процесс или одно приложение может использовать несколько процессов; процессы могут присутствовать в системе даже если их приложения бездействуют.Даже если вы видите, что пр оцесс приложения «работает», это не означает что приложение запущено или что-нибудь выполняет. Такое может случится, например, из-за того, что Android иногда нуждается в этом приложении и поэтому решил что лучше будет держать его под рукой на случай если оно вновь понадобится; или же, если вы покинули приложение не надолго, чтобы позже вернуться к нему, а системе в этом время понадобилось освободить процесс для других целей.Ключом к тому, как Android о брабатывает приложения таким образом является то, что процессы не уничтожаются полностью. Когда пользователь покидает приложение, его процесс переводится в фоновый режим, позволяя процессу продолжить свою работу (например, загрузку web страниц) если это требуется. А когда пользователь возвращается в приложение, его процесс переводится в активное состояние. Если устройство не имеет проблем с недостатком памяти, то Android будет держать все эти процессы под рукой, а приложения будут действительно (а не мнимо) «работать».Так как объём памяти являет ся ограниченным, Android должен решить когда избавляться от ненужных процессов. Это приводит к понятию жизненного цикла процессов и правилам, которые используются для того чтобы определить на сколько важен каждый процесс и
Прикрепленный файл #1: 564_mnogozadach.zip (6 Kb)
Прикрепленный файл #1: 845_mnogozadach.zip (6 Kb)
Прикрепленный файл #2: 913_mnogozadach.zip (6 Kb)
-------------
добавлено в 14.11:
Показать / Скрыть текст
Показать / Скрыть текстответ опубликован:
- 5
- 1
- 2
- 3
- 4
- 5

