HarmonyOS鸿蒙Next中内存分析中Memory占比高,尤其是AnonPage Other占比

HarmonyOS鸿蒙Next中内存分析中Memory占比高,尤其是AnonPage Other占比 我的这个应用不知道为啥内存占比非常高,启动后就有700多M了。然后我截图对比后发现是AnonPage Other 这项占绝大部份。

cke_2383.jpeg

这个到底是啥意思,不太明白,对应用有没有影响呢。查看文档也没有找到这个AnonPage Other是啥意思。还请大佬指点迷津啊,谢谢了。

cke_1921.jpeg


更多关于HarmonyOS鸿蒙Next中内存分析中Memory占比高,尤其是AnonPage Other占比的实战教程也可以访问 https://www.itying.com/category-93-b0.html

4 回复

标识应用程序是否开启asan检测,用于辅助定位buffer越界造成的crash问题。

  • true:当前工程开启asan检测。
  • false:当前工程不开启asan检测。

不知道算不算虚惊一场

更多关于HarmonyOS鸿蒙Next中内存分析中Memory占比高,尤其是AnonPage Other占比的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


补充一下,app启动后内存就高达700左右,然后我将entryAblity执行的代码全部清除干净

onWindowStageCreate(windowStage: window.WindowStage): void {
  windowStage.loadContent('pages/login/UULaunchPage', (err) => {
    if (err.code) {
      hilog.error(0x0000, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err) ?? '');
      return;
    }
    hilog.info(0x0000, 'testTag', 'Succeeded in loading the content.');
  });
}

就只保留上面一个加载空页面。内存居然还是高达600M。

在HarmonyOS Next中,Memory占比高特别是AnonPage Other占比异常,通常是由于未明确归属的系统内存或匿名页使用过多导致。可通过DevEco Studio的Profiler工具抓取内存快照,重点关注Native Heap和ArkTS对象分配情况。内核层内存管理采用改进的LMK机制,过度缓存可能导致此现象,可观察内存水位线变化。若伴随ArkUI页面泄漏,需检查自定义组件生命周期。

AnonPage Other在HarmonyOS内存分析中通常指匿名页中的"其他"类别内存分配。这类内存主要包括:

  1. 未明确归类的匿名内存分配
  2. 可能包含JIT编译代码、部分Native堆分配等
  3. 某些框架或系统组件的内部内存使用

对于700MB的高内存占用,建议重点检查:

  • 应用启动时是否加载了大量资源
  • Native层是否存在内存泄漏
  • 是否使用了大量JIT编译代码
  • 第三方库的内存使用情况

可以使用DevEco Studio的内存分析工具进一步定位具体的内存分配来源。高内存占用会影响应用性能,建议优化内存使用。

回到顶部