Модуль метакомпонентов — это набор разработчика OpenHarmony для создания приложений на платформе HarmonyOS. Модуль метакомпонентов состоит из следующих модулей:
Рисунок 1 Структура модуля метакомпонентов
AbilityKit — это пакет разработчика, предоставляемый фреймворком Ability. На основе этого пакета разработчики могут создавать приложения с использованием компонента Ability. Приложения, созданные с помощью компонента Ability, имеют два типа: Ability на JavaScript (JS Ability) и Ability на C/C++ (Native Ability). Фреймворк JS для разработки приложений — это фреймворк, используемый разработчиками для создания JS Ability, который представляет собой набор удобных для разработчиков компонентов UI на JavaScript.
Ability — это минимальная единица управления системой, представляющая собой компонент, способный выполнять отдельную функцию. Одно приложение может содержать один или несколько Ability. Ability имеет два типа: Ability типа Page и Ability типа Service.
AbilitySlice — это сумма одного страницы и её логики управления. Это специальный компонент для Ability типа Page. Один Ability типа Page может содержать несколько AbilitySlice, при этом бизнес-возможности этих страниц должны быть тесно связаны. Отношение между Ability типа Page и AbilitySlice показано на следующем рисунке:
Рисунок 2 Отношение между Ability и AbilitySlice
Рисунок 3 Цикл жизней Ability
Анализ состояний цикла жизней Ability:
UNINITIALIZED — состояние до инициализации, временное состояние. После создания Ability он переходит из состояния UNINITIALIZED в состояние INITIAL;
INITIAL — начальное состояние, также указывает на состояние остановки, когда Ability не выполняется. После запуска Ability он переходит из состояния INITIAL в INACTIVE;
INACTIVE — неактивное состояние, когда текущий окно уже отображается, но не имеет фокуса.
ACTIVE — активное состояние, когда текущий окно отображается и получает фокус. Перед переходом в фоновое состояние Ability переходит из ACTIVE в INACTIVE;
BACKGROUND — фоновое состояние, когда Ability находится в фоновом режиме. После удаления Ability из системы он переходит из BACKGROUND в INITIAL, либо если Ability снова активируется, то он переходит из BACKGROUND в ACTIVE.
AbilityLoader регистрирует и загружает модули Ability, разработанные разработчиками. Разработанные Ability должны быть зарегистрированы через метод регистрации AbilityLoader перед тем как они будут запущены.
AbilityManager управляет IPC-сообщениями между AbilityKit и службой управления Ability.
EventHandler — это модуль, предоставленный AbilityKit для реализации межпоточной связи внутри Ability.
Управление процессами Ability — это система службы, которая координирует отношения между различными Ability и управляет их жизненным циклом. Внутри этой службы есть модуль запуска сервиса, который отвечает за запуск, регистрацию и другие операции службы управления Ability. Модуль управления интерфейсами службы отвечает за управление внешними возможностями службы управления Ability. Модуль управления процессами отвечает за запуск и завершение работы процессов Ability, а также за поддержание информации о процессах. Модуль управления стеком Ability отвечает за поддержание последовательности переходов между различными Ability. Модуль распределения жизненного цикла отвечает за управление состоянием Ability в соответствии с текущими действиями системы. Модуль управления соединениями отвечает за управление соединениями для Ability типа Service.
AppSpawn — это система службы, которая отвечает за создание процессов, в которых находятся приложения Ability. Эта служба имеет высокие права доступа, она устанавливает соответствующие права для приложений Ability и предварительно загружает некоторые универсальные модули, чтобы ускорить запуск приложений.
/foundation/ability/ability_lite
├── frameworks
│ ├── ability_lite # Ключевые реализации AbilityKit
│ ├── abilitymgr_lite # Реализация клиента для управления связью между AbilityKit и службой управления Ability
│ └── want_lite # Реализация носителя информации для взаимодействия между Ability
├── interfaces
│ ├── kits
│ │ ├── ability_lite # Интерфейсы, предоставляемые AbilityKit для разработчиков
│ │ └── want_lite # Внешние интерфейсы носителя информации для взаимодействия между Ability
│ └── inner_api
│ └── abilitymgr_lite # Интерфейсы, предоставляемые службой управления Ability другим подсистемам
└── services
└── abilitymgr_lite # Реализация службы управления Ability
./bin/aa start -p com.xxxxxx.hiability -n MainAbility
aafwk_aafwk_lite
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )