openvela 原生框架
根据技术架构划分,原生框架整体属于服务框架层中,涉及模块有应用能力接口、应用管理框架等等。
·
一、原生框架介绍

根据 openvela 技术架构划分,原生框架整体属于服务框架层中,涉及模块有应用能力接口、应用管理框架等等
二、应用框架
基于 vela 系统,应用框架负责运营应用的引擎和环境,支持系统服务和能力,使应用正常运营在 IoT 设备上。
2.1 核心服务框架
核心服务框架属于 System Server 组件,它负责启动和管理多个系统服务,包含的系统服务有:
- 应用管理服务
- 包管理服务
- 窗口管理服务
- 亮度管理服务
2.1.1 应用管理服务
应用管理服务,即 Activiy Manager Service(AMS),也称为活动管理服务,该模块负责管理应用的生命周期、任务和活动的调度。
主要特性包括:
- 活动生命周期管理:AMS 负责管理应用程序中活动的生命周期,包括创建、启动、暂停、恢复和销毁活动。
- 任务管理:AMS 管理应用程序的任务和堆栈,包括任务的切换和调度,确保用户体验的流畅性。
- 进程管理:AMS 负责应用程序进程的启动、停止和监控,确保系统资源的有效利用。
- Intent 处理:AMS 处理应用程序之间的 Intent 通信,使得不同应用可以相互启动活动和服务。
- 权限管理:AMS 参与权限检查,确保应用在启动活动时符合系统安全要求。
- 应用程序状态跟踪:AMS 跟踪应用程序的状态,如前台、后台、停止等,并根据状态进行适当的资源分配。
- 多窗口支持:AMS 提供多窗口模式下的活动管理,允许多个应用同时显示。
- 后台任务限制:AMS 实施后台任务和服务的限制,优化系统性能和电池使用。
- 服务和广播管理:AMS 还负责管理服务和广播接收器的生命周期,确保系统的响应性和稳定性。
例: 启动一个新的活动
Intent intent;
makeIntent(intent);
intent.setFlag(intent.mFlag | Intent::FLAG_ACTIVITY_NEW_TASK);
android::sp<android::IBinder> token = new android::BBinder();
ActivityManager am;
am.startActivity(token, intent, -1);
例:停止一个活动
Intent intent;
makeIntent(intent);
ActivityManager am;
am.stopActivity(intent, intent.mFlag);
2.1.2 包管理服务
包管理服务,即 Package Manager Service(PMS),主要提供包安装功能、提供包信息查询能力及提供包卸载能力。
例: 使用 pm 安装与卸载应用
#命令形式
pm install [packagename]
#源码实现
#安装
#include "pm/PackageManger.h"
PackageManager pm;
InstallParam parms;
pm.installPackage(parms);
#卸载
#include "pm/PackageManger.h"
PackageManager pm;
UninstallParam parms;
pm.uninstallPackage(parms);
例: 查找已安装的应用列表
#命令形式
pm list
#源码实现
#include "pm/PackageManger.h"
PackageManager pm;
std::vector<PackageInfo> pginfos;
pm.getAllPackageInfo(&pginfo);
2.1.3 窗口管理服务
窗口管理服务,即 Window Manager Service(WMS),主要提供应用的输入管理、输出管理和显示管理。
如应用侧窗口管理客户端,运行于应用用户空间,负责应用内的窗口管理和渲染,并将渲染画面传递给服务端。
主要功能包括:
- 窗口属性和风格管理:包括窗口位置、大小和透明度等属性的调整
- 窗口生命周期管理:包括窗口的创建、显示、隐藏和删除
- 事件监听管理
- 窗口过渡动效管理
openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。
更多推荐

所有评论(0)