@oh-expo/expo-app-metrics
v0.2.2-harmony.0
Published
expo-app-metrics 的 HarmonyOS 适配包(ExpoModule 原生模块,expo-modules-core 体系)
Downloads
156
Maintainers
Readme
@oh-expo/expo-app-metrics
让
expo-app-metrics(应用指标)在 HarmonyOS / OpenHarmony 上运行的适配包。
通过 expo-modules-core 体系提供 ExpoAppMetricsModule 原生模块(模块名 ExpoAppMetrics),
接口收口自 [email protected] 权威 d.ts。
支持基线
| 项 | 值 |
| --- | --- |
| 适配目标 | [email protected] |
| 运行时底座 | @expo-harmony/[email protected](本地 HAR) |
| 鸿蒙 SDK | API 26(SDK 26.0.0 锚定,@ohos.hidebug + @ohos.bundle.bundleManager + @ohos.graphics.displaySync + preferences) |
| 权限 | 无 |
实现面
- 11 方法:
markFirstRender/markInteractive/getStoredEntries/clearStoredEntries/startSession/stopSession/addCustomMetricToSession/takeMemoryUsageSnapshotAsync/getMemoryUsageSnapshotAsync/getAppStartupTimesAsync/getFrameRateMetricsAsync; - 启动指标:displaySync 帧率采集(慢帧 17ms/冻帧 700ms 阈值)、ProcessClock 启动时刻精化、
startup 指标持久化(savedCount/savedClockRevision 去重);内存快照(getAppNativeMemInfoAsync
- getAppMemoryLimit,available = 限制 − RSS);
- 持久化:preferences 双键写入(sessions + pending 恢复记录)、7 天保留裁剪 + 3.5M 码元容量上限;
- 诚实分级:内存 API 不可用报 ERR_APP_METRICS_MEMORY_API;params 上限 256K 码元(JSON 校验)。
快速开始
安装 npm 包(peer 依赖
expo-app-metrics原包与 expo-modules-core 自动安装):npm install @oh-expo/expo-app-metrics拷贝 HAR 到宿主并声明 ohpm 依赖:
cp node_modules/@oh-expo/expo-app-metrics/local-hars/expo_app_metrics.har harmony/local-hars/// harmony/oh-package.json5 { "dependencies": { "@oh-expo/expo-app-metrics": "file:local-hars/expo_app_metrics.har" } }JS 侧使用(对外契约由原包提供):
import * as AppMetrics from 'expo-app-metrics';
构建与校验
pnpm har:prepare # hvigorw assembleHar → local-hars/expo_app_metrics.har
pnpm har:prepack # 发布前校验(必需文件 / scope / -harmony.N 版本 / HAR 产物)状态与来源
- ⚠️ 实现已落盘并经 assembleHar / 宿主接入编译验证(真机功能验证 ⏳);
- 接口契约锚定
[email protected]权威 d.ts,规格见主仓docs/adaptations/expo-app-metrics.md与acceptance/ledger.md(S4 前置门口径)。
