Главная Новости Программы Статьи Контакты
Реклама
Новые файлы
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Нас сегодня посетили:
Форма входа
Главная » Статьи » Компьютеры

Зависимости процессов Android

Зависимости процессов

На данный момент у нас есть общее представление о том, как управляются процессы

Android. Но здесь есть еще одна сложность — зависимости между процессами.

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

Зависимости между процессами могут возникать как при использовании поставщиков контента (через простой доступ к поставщику), так и при использовании служб (путем привязки к службе). В любом случае операционная система должна отслеживать эти зависимости и соответствующим образом управлять процессами.

Зависимости процессов оказывают влияние на два ключевых момента: когда процессы будут созданы (и созданы компоненты внутри них) и каким будет у процесса показатель важности oom_adj. Следует напомнить, что важность процесса определяется наиболее важным из имеющихся в нем компонентов. Его важность определяется также наиболее важным из зависящих от него процессов.

Например, в случае с приложением камеры его процесс и, соответственно, поставщик контента обычно не запущены. Он будет создан, когда доступ к этому поставщику контента понадобится каким-нибудь другим процессам. Как только поставщик контента приложения камеры станет доступен, процесс камеры станет рассматриваться как по крайней мере не менее важный, чем тот процесс, который его использует.

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

и службам, а также процессам, которые ими пользуются.

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

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

 



Free-Softs


Категория: Компьютеры | Добавил: admin (26.10.2015)
Просмотров: 599 | Рейтинг: 0.0/0


Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]