内存分析介绍
======

#### 操作步骤

#### \[h2\]DevEco Studio 6.1.0 Beta1及以上版本

在设备连接完成后，可按照如下方法查看内存分析结果：

1.  构建应用前请参考[模块级build-profile.json5文件](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/ide-hvigor-build-profile)，增加strip字段并赋值为false，不移除当前模块.so文件中的符号表、调试信息。采集函数栈解析符号需要附带符号表信息，无符号表信息可能采集不到函数名称。
    
    ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/d4/v3/kyklcjveQMGqZ6avBgvF4w/zh-cn_image_0000002594634622.png?HW-CC-KV=V1&HW-CC-Date=20260612T073913Z&HW-CC-Expire=86400&HW-CC-Sign=CAEDD5E689BF2D2D9C1508085345C7E2CA14A7286FAE601828DA21A8FBA206D3)
    
2.  创建Allocation分析任务并录制相关数据，操作方法可参考[性能问题定位：深度录制](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/deep-recording)，或在会话区选择**Open File**，导入历史数据，在录制前单击![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/f9/v3/DnQcY4exQByd2p9bV8qcIA/zh-cn_image_0000002594474696.png?HW-CC-KV=V1&HW-CC-Date=20260612T073913Z&HW-CC-Expire=86400&HW-CC-Sign=D8F2604C6EB7A61FE21330AAE1A485F212B9472C787B9B89ADA9F0BA341D209D "点击放大")指定要录制的泳道。
    
    ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/a8/v3/4hokrj2LQfqeKCV0DpThlw/zh-cn_image_0000002594634584.png?HW-CC-KV=V1&HW-CC-Date=20260612T073913Z&HW-CC-Expire=86400&HW-CC-Sign=FD091FFCC495BDBD5AFF872EDD29C4A230358E0DB8C9F7B5292DF595E41A4F2E "点击放大")
    
    ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/c4/v3/Jkv9kil-RfqC1rNHoHfiMQ/note_3.0-zh-cn.png?HW-CC-KV=V1&HW-CC-Date=20260612T073913Z&HW-CC-Expire=86400&HW-CC-Sign=D2D71955295756742120233DA323FDDEC35C828A30ED4C523B7E4655E6E3F562)
    
    *   在任务录制过程中，单击分析窗口左上角的![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/db/v3/QOsS50pqTIemAzBSctUOrA/zh-cn_image_0000002594634616.png?HW-CC-KV=V1&HW-CC-Date=20260612T073913Z&HW-CC-Expire=86400&HW-CC-Sign=56E41F2B5CDEEFD14D9DF28DD67A105D303D72D04A7BEF17F8C38D61AA6EF838 "点击放大")可启动内存回收机制。
    *   当方舟虚拟机的调优对象的某个程序/进程占用的部分内存空间在后续的操作中不再被该对象访问时，内存回收机制会自动将这部分空间归还给系统，降低程序错误概率，减少不必要的内存损耗。
    
    *   **Memory泳道**：显示当前进程的物理内存使用情况，计算方式为PSS+GL+Graph。PSS表示进程独占内存和按比例分配共享库占用内存之和。
        
        ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/6c/v3/OoLpKjlcQiy5T5ALm2bOww/zh-cn_image_0000002594474678.png?HW-CC-KV=V1&HW-CC-Date=20260612T073913Z&HW-CC-Expire=86400&HW-CC-Sign=7E199FDA6C2BDAC5AED9ABE4275BC03331C681BB3DA03BEC6FB2C5EDBA6DA7C9)
        
        展开Memory泳道，子泳道展示的是按照内存类型将进程PSS值拆分开的各个维度的内存信息，包含ArkTS Heap、Native Heap、GL、Graph、Guard、AnonPage Other、FilePage Other、Dev/Stack、ArkWeb PA、JS Heap、.hap、.so、.ttf。默认展示其中的五个子泳道，可以点击主泳道的options标签并勾选其他子泳道查看其他子泳道。
        
        ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/8a/v3/GU3szET5SE2KFs3lQcOInA/zh-cn_image_0000002625074187.png?HW-CC-KV=V1&HW-CC-Date=20260612T073913Z&HW-CC-Expire=86400&HW-CC-Sign=249385DFDDE6855153456F2D19DCF3FA9531F80067B41E099E1FBEFF4248FDAC "点击放大")
        
        | 
        子泳道
        
         | 
        
        说明
        
         |
        | :-- | :-- |
        | 
        
        ArkTS Heap
        
         | 
        
        ArkTS堆的内存占用。
        
         |
        | 
        
        Native Heap
        
         | 
        
        Native层（主要是应用依赖的so库的C/C++代码）使用new/malloc分配的堆内存。
        
         |
        | 
        
        GL
        
         | 
        
        包括应用和RS，应用为纹理内存，RS为纹理和图形渲染内存。
        
         |
        | 
        
        Graph
        
         | 
        
        该进程按去重规则统计的dma内存占用，包括直接通过接口申请的dma buffer和通过allocator\_host申请的dma buffer。
        
         |
        | 
        
        Guard
        
         | 
        
        保护段所占内存。
        
         |
        | 
        
        AnonPage Other
        
         | 
        
        其他所有匿名页所占内存（非heap、anon:native\_heap、anon:ArkTS heap开头的匿名页）。
        
         |
        | 
        
        FilePage Other
        
         | 
        
        其它映射到文件页但不能被归类到.so/.db/.ttf类型的内存占用。
        
         |
        | 
        
        Dev
        
         | 
        
        进程加载的以/dev开头的文件所占内存。
        
         |
        | 
        
        Stack
        
         | 
        
        栈内存。
        
         |
        | 
        
        ArkWeb PA
        
         | 
        
        26.0.0 Beta1版本新增。
        
        Malloc内存分配。
        
         |
        | 
        
        JS Heap
        
         | 
        
        26.0.0 Beta1版本新增。
        
        ArkWeb Render进程JS堆内存占用。
        
         |
        | 
        
        .hap
        
         | 
        
        进程加载的.hap文件所占内存。
        
         |
        | 
        
        .so
        
         | 
        
        进程加载的.so动态库所占内存。
        
         |
        | 
        
        .ttf
        
         | 
        
        进程加载的.ttf字体文件所占内存。
        
         |
        
    *   **ArkTS Allocation泳道**：DevEco Studio 6.1.0 Release新增，用于显示方舟虚拟机上的内存分配信息。该泳道默认不展示，如需录制该泳道数据，在录制前单击左上角菜单栏![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/41/v3/fhr8uEm6RKq5XvMCZrsbIQ/zh-cn_image_0000002625074199.png?HW-CC-KV=V1&HW-CC-Date=20260612T073913Z&HW-CC-Expire=86400&HW-CC-Sign=60A77A816EF6DF142D19274DF41CA6FCCDF9FDC4350BE6036D2228227E67C8FA "点击放大")图标，勾选ArkTS Allocation泳道。由于隐私安全政策，已上架应用市场的应用不支持录制此泳道。
        
        ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/53/v3/7GyUNrm-Qp296NGgEOTsuQ/note_3.0-zh-cn.png?HW-CC-KV=V1&HW-CC-Date=20260612T073913Z&HW-CC-Expire=86400&HW-CC-Sign=681E6A5894DDE2093F86E4A0A7C583F25EC6F99D127C0AE6562299AA64119D03)
        
        *   该泳道即将下线，推荐使用[Snapshot模板](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/ide-insight-session-snapshot)分析ArkTS内存泄漏。
        *   由于较大的性能开销可能导致卡顿/卡死问题，ArkTS Allocation暂不支持和如下泳道同时录制：
            *   ArkTS Snapshot泳道
            *   All Heap & Anonymous VM泳道
            *   All Heap泳道
            *   All Anonymous VM泳道
            *   System Resources泳道
            *   Graphic Memory泳道
        
    *   **ArkTS Snapshot泳道**：DevEco Studio 6.1.0 Release版本新增，用于抓取ArkTS堆内存快照，结束录制时会自动录制一次快照，默认不支持录制该泳道。如需录制，在录制前单击工具控制栏中的![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/02/v3/_hflk0snTGiKESjNEj-s0Q/zh-cn_image_0000002594474682.png?HW-CC-KV=V1&HW-CC-Date=20260612T073913Z&HW-CC-Expire=86400&HW-CC-Sign=6FEC158AD8504FC32937552C4EF9622154F20F50C6111D69B2666F2163084BD7 "点击放大")按钮关闭统计模式（Statistics Mode）。由于隐私安全政策，已上架应用市场的应用不支持录制此泳道。
        
        ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/09/v3/o7jOXnyZQZKSzDH3l6cPYA/zh-cn_image_0000002625074189.png?HW-CC-KV=V1&HW-CC-Date=20260612T073913Z&HW-CC-Expire=86400&HW-CC-Sign=74DECAB87B3917BAC30779E4E84743466A88C9EC0BC9FACDE83ADF64E5A50A60 "点击放大")
        
    *   **All Heap & Anonymous VM泳道**：显示具体的Native内存分配情况，包括静态统计数据、分配栈、每层函数栈消耗的Native内存等信息。由于隐私安全政策，已上架应用市场的应用不支持录制此泳道。
        
        单击工具控制栏中的![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/03/v3/PY819xcyT-iWwjEL2Mppgw/zh-cn_image_0000002594474692.png?HW-CC-KV=V1&HW-CC-Date=20260612T073913Z&HW-CC-Expire=86400&HW-CC-Sign=B01A6512EF82E92F83CA9B777323F91FD186A8BD00495356F00196FA787A5932 "点击放大")按钮，可以设置是否为统计模式、统计间隔、最小跟踪内存、内存数据采样大小、回栈模式、JS回栈、JS回栈深度、Native回栈深度、开启异步栈缝合、设置采样数据范围。
        
        ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/25/v3/GQpE3Y3bQ-6DyRfy8b8Xvg/zh-cn_image_0000002624994047.png?HW-CC-KV=V1&HW-CC-Date=20260612T073913Z&HW-CC-Expire=86400&HW-CC-Sign=9D0C99C912AD75FAFC8ACCE50372D3D858276F2CD842D8D6AECF4A86EC8BF3F8 "点击放大")
        
        | 
        配置项
        
         | 
        
        说明
        
         |
        | :-- | :-- |
        | 
        
        Statistics Mode
        
         | 
        
        该项配置代表是否开启统计模式采集数据，默认开启。开启后，数据会每隔Sampling Interval中设置的时间从设备端汇总并返回。关闭后，处于非统计模式，每次内存分配后数据会实时从设备端返回。
        
         |
        | 
        
        Sampling Interval
        
         | 
        
        统计时间间隔。仅在统计模式下需要设置，可设置范围为1s~3600s，默认为10s。
        
         |
        | 
        
        All Heap & Anonymous VM Filter Size
        
         | 
        
        最小跟踪内存，该参数表示最小抓取的内存大小。
        
        可配置范围为0-65535Bytes，默认为1024Bytes。
        
         |
        | 
        
        Sampling Size
        
         | 
        
        DevEco Studio 6.1.1 Release版本新增。
        
        内存数据采样大小，可配置范围为1-1048576Bytes，默认为4096Bytes。
        
        配置后，仅对Native Heap和All Anonymous VM泳道中的mmap类型数据生效。
        
         |
        | 
        
        Backtrace Mode
        
         | 
        
        内存分配栈回栈模式。当前提供FP和DWARF两种回栈模式。FP回栈是通过帧指针（FP寄存器）链接栈帧，直接遍历调用链。DWARF回栈是基于编译器生成的DWARF调试信息进行栈回溯。默认FP回栈。FP回栈性能更好，但在某些特定场景下（例如so的编译参数控制），FP回栈可能失效，此时可选择DWARF回栈尝试。
        
         |
        | 
        
        Record JS Stack
        
         | 
        
        是否开启JS回栈。开启后，系统回栈时会自动从Native向JS层回栈，完成Native到JS的栈缝合，适合ArkTS/JS代码调用Native的场景。
        
        在DevEco Studio 6.1.0 Beta2之前版本，默认关闭。
        
        从DevEco Studio 6.1.0 Beta2版本开始，默认开启。
        
         |
        | 
        
        JS Backtrace Depth
        
         | 
        
        JS回栈深度。可配置范围为1-128，默认10层。
        
         |
        | 
        
        Native Backtrace Depth
        
         | 
        
        Native回栈深度。可配置范围为5-100，默认10层。
        
         |
        | 
        
        Backtrace Stack
        
         | 
        
        回栈深度。仅当Backtrace Mode选择为DWARF模式的情况下存在，其层数代表着JS与Native的共同回栈深度。可配置范围为5-100，默认20层。
        
         |
        | 
        
        Sync Backtrace Depth
        
         | 
        
        DevEco Studio 6.1.1 Beta1版本新增。
        
        同步回栈深度。仅当Record Async Stack开启的情况下存在，其层数代表着JS与Native的共同同步回栈深度。可配置范围为5-100，默认20层。
        
         |
        | 
        
        Record Async Stack
        
         | 
        
        DevEco Studio 6.1.1 Beta1版本新增。
        
        用于开启[异步栈缝合](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/ide-devecostudio-glossary#section58492173810)。仅当Backtrace Mode选择为FP模式的情况下可以开启。开启后，在异步回栈时支持多回一层异步栈帧，最大异步回栈深度为16层，且暂不支持设置异步回栈深度。默认关闭。
        
         |
        | 
        
        Record Data Range Options
        
         | 
        
        DevEco Studio 6.1.0 Release版本新增。
        
        用于设置采样数据范围，包含Malloc、Local Handle和Global Handle，默认勾选Malloc。
        
        *   Malloc记录malloc系列函数的内存分配。
        *   Local Handle用于管理JS对象生命周期的引用句柄（napi\_value），仅支持Phone和PC设备。
        *   Global Handle允许用户管理ArkTS/JS值的生命周期的引用句柄（napi\_ref）。
        
         |
        
        ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/62/v3/0Yv0bTMvQB2o41Ay8ciZRw/note_3.0-zh-cn.png?HW-CC-KV=V1&HW-CC-Date=20260612T073913Z&HW-CC-Expire=86400&HW-CC-Sign=419045F7D226C673F95E143C5DA7F5BE029BB23B8EF7483AB4243F86DC321309)
        
        *   若勾选Local Handle，在应用生命周期内首次录制时会重启应用。若应用在生命周期内被强制终止后重启，再次录制时仍会重启应用。
        *   最小跟踪内存设置的数值越小，回栈深度越大，这可能会导致DevEco Profiler卡顿，请根据应用实际的调测情况进行合理设置。
        *   最小跟踪内存设置的数值大小不影响Local Handle和Global Handle。
        *   统计模式适用于不关注单次分配，但关注应用较长时间的内存变化，将指定的采样间隔内的数据做合并统计，以达到降低处理数据量，提高录制效率和时长。Sampling Interval设置为近似值，将尽可能在接近这个时间内做统计汇总，会有不超过1s偏差，不影响内存分配的正确性。
        *   使用统计模式时，录制的结束时间需要是Sampling Interval即采样周期的整数倍，例如当采样周期是10s时，停止录制时间建议在11s+/21s+，以此类推，留出余量给系统做数据处理与传输。
        
    *   **All Heap泳道**：显示Heap类型数据之和。展开主泳道，包括Native Heap、ArkTS Heap、JS Heap、JS Heap(ArkWeb-PA)四条子泳道。由于隐私安全政策，已上架应用市场的应用不支持录制此泳道。
        
        *   Native Heap子泳道：用于显示Malloc、ArkLocalHandle和ArkGlobalHandle内存分配。
        *   ArkTS Heap子泳道：用于显示ArkTS对象内存分配。
        *   JS Heap子泳道：用于显示JS对象内存分配。
        *   JS Heap(ArkWeb-PA)子泳道：26.0.0 Beta1版本新增，用于显示ArkWeb中Malloc内存分配。
        
        ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/c9/v3/JGuDCz8cTDWWWADvkIpCsQ/zh-cn_image_0000002594474664.png?HW-CC-KV=V1&HW-CC-Date=20260612T073913Z&HW-CC-Expire=86400&HW-CC-Sign=3D49869F3FDB366FB1667CA1E1523CAE38476CAA6EF4BF26AD667912F87EF6AD "点击放大")
        
    *   **All Anonymous VM泳道**：显示匿名内存使用分布。展开主泳道，包括VM:ION、VM:ASHMem、VM:.so、VM:others四条子泳道。由于隐私安全政策，已上架应用市场的应用不支持录制此泳道。
        
        *   VM:ION子泳道：用于显示DMA内存分配数据。
        *   VM:ASHMem子泳道：用于显示匿名共享内存。
        *   VM:.so子泳道：用于显示.so文件内存消耗。
        *   VM:others子泳道：用于显示除ION、ASHMem、**.**so外的mmap类型数据。
        
        ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/6e/v3/UyVsEd2vQV-0UniPkAFnMQ/zh-cn_image_0000002624994045.png?HW-CC-KV=V1&HW-CC-Date=20260612T073913Z&HW-CC-Expire=86400&HW-CC-Sign=17CFF23D9BD900056CAE0FE838191C65F72D67B08340C57DDDFDC02B5C7CE0D9 "点击放大")
        
    *   **System Resources泳道**：DevEco Studio 6.1.0 Beta2版本新增，用于显示进程的系统资源使用情况。展开主泳道，包括File Descriptors、Threads两条子泳道。由于隐私安全政策，已上架应用市场的应用不支持录制此泳道。
        
        *   File Descriptors子泳道：用于显示进程的文件句柄使用情况。
        *   Threads子泳道：用于显示进程的线程使用情况。
        
        ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/28/v3/m3GMRDwWSpu7rVoduyxtoA/zh-cn_image_0000002594634594.png?HW-CC-KV=V1&HW-CC-Date=20260612T073913Z&HW-CC-Expire=86400&HW-CC-Sign=1AD3FDFE7D34D859DB86856B2D9297AB9EA501C0E2D02218DBB84582EB229CDF "点击放大")
        
    *   **Graphic Memory泳道**：DevEco Studio 6.0.2 Beta1版本新增，用于显示图形渲染相关的内存分配情况。该泳道默认不展示，如需录制该泳道数据，在录制前单击左上角菜单栏![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/93/v3/2wN8xUMVQQePeoyxdLDALQ/zh-cn_image_0000002625074193.png?HW-CC-KV=V1&HW-CC-Date=20260612T073913Z&HW-CC-Expire=86400&HW-CC-Sign=6B7614D801FBC54037B45D83CE0D4CC272C81B469F7509EDE967B6619A198D39 "点击放大")图标，勾选Graphic Memory泳道。展开主泳道，包括Vulkan、OpenGL ES、OpenCL三条子泳道。由于隐私安全政策，已上架应用市场的应用不支持录制此泳道。
        
        *   Vulkan子泳道：用于显示GPU\_VK类型的内存分配数据。
        *   OpenGL ES子泳道：用于显示GPU\_GLES类型的内存分配数据。
        *   OpenCL子泳道：用于显示GPU\_CL类型的内存分配数据。
        
        ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/a8/v3/bishWQp0S9e_I6eNAhiSfQ/zh-cn_image_0000002594474702.png?HW-CC-KV=V1&HW-CC-Date=20260612T073913Z&HW-CC-Expire=86400&HW-CC-Sign=ABD9771CD480E66F147F092CB6F7F7DC8728762DDC70DD3DC211BB95E8D4A121 "点击放大")
        
    
3.  在目标泳道上长按鼠标左键并拖拽，框选要展示分析的时间段，查看此时间段内指定类型的内存分析统计信息。
    
    *   **Memory泳道：**
        *   **Statistics**页签：26.0.0 Beta1版本新增，用于显示当前框选时间段内的虚拟内存区域数量的最小值（VMA Count Min）、虚拟内存区域数量的最大值（VMA Count Max）、虚拟内存区域数量的平均值（VMA Count Avg）、PSS内存最小值（PSS Min）、PSS内存最大值（PSS Max）、PSS内存平均值（PSS Avg），以及共享脏内存平均值（Shared Dirty Avg）、共享干净内存平均值（Shared Clean Avg）、私有脏内存平均值（Private Dirty Avg）、私有干净内存平均值（Private Clean Avg）、Swap内存平均值（Swap Avg）等。
        *   **Details**页签：显示当前框选时间段内各采样点的应用内存PSS总和，以及各种内存页面状态的内存占用总和。包括时间戳、PSS内存大小、共享脏内存大小、共享干净内存大小、私有脏内存大小、私有干净内存大小、Swap内存大小、Swap PSS内存大小、VMA数量等。
            
            ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/e2/v3/Foi498xITEO-b7PruaLFew/zh-cn_image_0000002594634590.png?HW-CC-KV=V1&HW-CC-Date=20260612T073913Z&HW-CC-Expire=86400&HW-CC-Sign=C34E47D85A7F0040C2F7DBE38E0E6AF14466810E83F77BE4DEB7DFF9A2057673 "点击放大")
            
    *   **Memory****子泳道**：**Details**页签中显示该泳道所代表的内存类型的框选时间段内各采样点的PSS总和以及各种内存页面状态的实际占用情况。
        
        ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/15/v3/SpY1LxFZSSm94vUNZ5ugeQ/notice_3.0-zh-cn.png?HW-CC-KV=V1&HW-CC-Date=20260612T073913Z&HW-CC-Expire=86400&HW-CC-Sign=DE3BC5EBE0D245732011C310813B340EFFFE9C744567D750516257822CC5A335)
        
        Graph字段统计方式为：计算/proc/process\_dmabuf\_info节点下该进程使用的内存大小。
        
        ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/13/v3/rrpVd0fVRf-CVNHMeM5MwA/zh-cn_image_0000002594474656.png?HW-CC-KV=V1&HW-CC-Date=20260612T073913Z&HW-CC-Expire=86400&HW-CC-Sign=F0092C969E44AAE11461DD082A961900962235AFFD6AE9BA44FB21463EBFF083 "点击放大")
        
    *   **ArkTS Allocation泳道**：
        
        主泳道：显示被选择进程所使用的所有ArkTS内存总和，框选后展示此时段内录制到的所有方舟实例的对象分配信息。
        
        子泳道：显示当前框选时段内运行对象的内存使用情况，包括层级、对象自身内存大小、对象关联内存大小等。
        
        Details区域中带![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/85/v3/gRvIZIqQTT6WaG6Fyd_zlg/zh-cn_image_0000002594474694.png?HW-CC-KV=V1&HW-CC-Date=20260612T073913Z&HW-CC-Expire=86400&HW-CC-Sign=A784755E9FEE289C9424BBD32879A4019F67CF78298DB5257A9FB2CFC8C06A02 "点击放大")标识的对象，表示其可以通过窗口访问。每个时段内已经释放的内存标记为灰色，未释放的内存标记为绿色。
        
        ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/79/v3/_an9THkkQUCYJa-f4iKBuw/note_3.0-zh-cn.png?HW-CC-KV=V1&HW-CC-Date=20260612T073913Z&HW-CC-Expire=86400&HW-CC-Sign=01896F301E2F54A955B606461A72DCE73405D7BC6BB38C31506E00EBD5043FAE)
        
        该泳道即将下线，推荐使用[Snapshot模板](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/ide-snapshot-basic-operations)分析ArkTS内存泄漏。
        
        ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/a6/v3/2RLE8gpJRXScPGA54zqLoQ/zh-cn_image_0000002594474698.png?HW-CC-KV=V1&HW-CC-Date=20260612T073913Z&HW-CC-Expire=86400&HW-CC-Sign=B1652BCACD3F18A6238C4F719EEC8239330B9B7EA8A51FC938A724AED32D0664 "点击放大")
        
    *   **ArkTS Snapshot泳道**：在**Statistics**区域中点击任一对象后，右侧More区域**Native List**区域将展示引用该实例对象的Native堆栈信息。
        
        ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/76/v3/xiF0wgW5QSqqgMMqftHC_w/zh-cn_image_0000002625074185.png?HW-CC-KV=V1&HW-CC-Date=20260612T073913Z&HW-CC-Expire=86400&HW-CC-Sign=9E2BD154C4B5344FEA0F360EC0E27293DC4A13EBC9CA150045C78B861DA5FE02 "点击放大")
        
    *   **All Heap & Anonymous VM或All Heap或All Anonymous VM或System Resources或Graphic Memory泳道**：框选子泳道后显示具体的内存分配，包括静态统计数据、分配栈等。
        *   **Statistics**区域：显示该段时间内的静态分配情况，包括分配方式、总分配内存大小、总分配次数、尚未释放的内存大小、尚未释放次数、已释放的内存大小、已释放次数。点击任意对象上的跳转按钮，可跳转至此类对象的详细占用/分配信息。统计模式下不支持跳转。
            
            ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/7c/v3/pZb3T-DkT3OmLkN1SV7rsw/note_3.0-zh-cn.png?HW-CC-KV=V1&HW-CC-Date=20260612T073913Z&HW-CC-Expire=86400&HW-CC-Sign=7450DA63BBC2CBE023428990FE376696F473899770B595AE369984B94F5D8A1B)
            
            *   在System Resources子泳道的Statistics页签中不提供内存大小数据。
            
        *   **Call Trees**页签：显示线程的内存分配栈情况，包括函数地址或符号、分配大小、占比以及函数栈帧的类别、so库的构建ID（Build ID）等。
            
            ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/51/v3/01bPjdd1SO6I1D7PlX0dgg/note_3.0-zh-cn.png?HW-CC-KV=V1&HW-CC-Date=20260612T073913Z&HW-CC-Expire=86400&HW-CC-Sign=4F1BB605C7B00CE818530C9DA5B8D6C78B935C994CF5ECF962F390750292C016)
            
            *   从26.0.0 Beta1版本开始，支持展示so库的构建ID（Build ID）。
            *   System Resources子泳道的Call Trees页签中不提供分配大小数据。
            *   当未开启统计模式（Statistics Mode），且录制了ArkTS Snapshot泳道时，框选All Heap & Anonymous VM或All Heap或Native Heap子泳道，单击任一行栈帧，More区域显示经过该栈帧的分配内存最大的调用栈和ArkTS对象列表（ArkTS Object List）。否则，单击任一行栈帧，More区域显示经过该栈帧的分配内存最大的调用栈。
            
            点击**ArkTS Object List**列表中的跳转按钮，跳转到ArkTS Snapshot泳道中的目标对象节点。
            
            ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/42/v3/wLK1F8bRQAaZLwGPC7qe1Q/zh-cn_image_0000002624994043.png?HW-CC-KV=V1&HW-CC-Date=20260612T073913Z&HW-CC-Expire=86400&HW-CC-Sign=B1F7A7868C2F551DF3F53E0506BE41BF5BC882640A82CAA736852B7D1BA63712 "点击放大")
            
        *   **Allocations List**页签：显示内存分配的详细信息，包括内存块起始地址、时间戳、当前活动状态、大小、调用的库、调用库的具体函数、事件类型（与Statistics页签的分配方式对应）等。选择任一对象，右侧会展示与该对象相关的所有库和调用者。
            
            ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/74/v3/YfyNjDDGSN-x5fYE2NcuSw/note_3.0-zh-cn.png?HW-CC-KV=V1&HW-CC-Date=20260612T073913Z&HW-CC-Expire=86400&HW-CC-Sign=ABA832D3B3C6B0613A1D1E4211EC7EE0AE8AA2ACC29BAA3E54AC1A11F75FA859)
            
            *   System Resources子泳道的Allocations List页签中不提供内存块起始地址、大小。
            *   统计模式（Statistics Mode）开启后，不存在Allocations List信息。
            
            ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/2d/v3/h3nUN2irQfeceLeDrUqzxA/zh-cn_image_0000002594474680.png?HW-CC-KV=V1&HW-CC-Date=20260612T073913Z&HW-CC-Expire=86400&HW-CC-Sign=0460257134C88E859D5A29760201D8CB4B06E5118B07E180B3EF62D78EA75187 "点击放大")
            
    
4.  （可选）根据分析结果，双击可能存在问题的调用栈，跳转至相关代码。开发者可根据实际需要进行优化。
    
    ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/32/v3/gBVaFH1ISGWTs9U9cr05Tw/note_3.0-zh-cn.png?HW-CC-KV=V1&HW-CC-Date=20260612T073913Z&HW-CC-Expire=86400&HW-CC-Sign=EA35BB48DC24F0DB4F6F5CC3E06A351E9582CEE430932C47474164257F6411E4)
    
    Release应用暂不支持跳转到用户侧Native代码。
    

#### \[h2\]DevEco Studio 6.1.0 Beta1以下版本

在设备连接完成后，可按照如下方法查看内存分析结果：

1.  构建应用前请参考[模块级build-profile.json5文件](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/ide-hvigor-build-profile)，增加strip字段并赋值为false（strip：是否移除当前模块.so文件中的符号表、调试信息，配置为false代表不移除）。采集函数栈解析符号需要附带符号表信息，无符号表信息可能采集不到函数名称，因此请按照下图进行配置。
    
    ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/5b/v3/jcVf2b2kQhaVYW8jWstlhA/zh-cn_image_0000002625074197.png?HW-CC-KV=V1&HW-CC-Date=20260612T073913Z&HW-CC-Expire=86400&HW-CC-Sign=CF060243EB5EF8BB3000DBA7F0308E62E20D7F446510CFA0F678CF787FF8689D)
    
2.  创建Allocation分析任务并录制相关数据，操作方法可参考[性能问题定位：深度录制](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/deep-recording)，或在会话区选择**Open File**，导入历史数据，在录制前单击![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/d0/v3/YwLF1MaWTrymC5nACkE4IA/zh-cn_image_0000002624994049.png?HW-CC-KV=V1&HW-CC-Date=20260612T073913Z&HW-CC-Expire=86400&HW-CC-Sign=610D81C9849D3F41C43404C62963FFEF1E4AF9B6611D03E22438AB6834A9BA4B "点击放大")指定要录制的泳道。
    
    ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/e1/v3/Ze3GWnkDQUGkUA_3AcqTrw/zh-cn_image_0000002625074171.png?HW-CC-KV=V1&HW-CC-Date=20260612T073913Z&HW-CC-Expire=86400&HW-CC-Sign=536DF39B9CFD55C3C6B14568EC1AD21242A7A23A8D4C59AB63DA4356DF8F8CAE "点击放大")
    
    ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/2b/v3/GP6PI7gTR32Sgr6RSOlKxA/note_3.0-zh-cn.png?HW-CC-KV=V1&HW-CC-Date=20260612T073913Z&HW-CC-Expire=86400&HW-CC-Sign=2BAB90C115471D971510F9B1CC5D3FF4A7BDE399128EC1823CD574EF00AC074E)
    
    *   Allocation分析支持离线符号解析能力，请参见[离线符号解析](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/ide-insight-session-time#section186881175012)。
    *   在任务录制过程中，单击分析窗口左上角的![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/d8/v3/M5ethYMHQrOIyDzpHtveIg/zh-cn_image_0000002594634626.png?HW-CC-KV=V1&HW-CC-Date=20260612T073913Z&HW-CC-Expire=86400&HW-CC-Sign=07DB9DF6EC636AD0A45B1132296B8A83EEFA9DE54604569B322729884E351AB0 "点击放大")可启动内存回收机制。
    *   当方舟虚拟机的调优对象的某个程序/进程占用的部分内存空间在后续的操作中不再被该对象访问时，内存回收机制会自动将这部分空间归还给系统，降低程序错误概率，减少不必要的内存损耗。
    
    *   **Memory泳道**：显示当前进程的物理内存使用情况，其度量方式包含：
        
        ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/aa/v3/b34cnlvpTLm5uC7dUMx7Ww/zh-cn_image_0000002625074191.png?HW-CC-KV=V1&HW-CC-Date=20260612T073913Z&HW-CC-Expire=86400&HW-CC-Sign=9048CC9D19F2AFEA134E822B09CD42E4EB7E021E1E79254AEEE4E36767D1BBE7) PSS：进程独占内存和按比例分配共享库占用内存之和。
        
        ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/28/v3/Y_S3BzRhR3OoM2u8wJt5pg/zh-cn_image_0000002625074201.png?HW-CC-KV=V1&HW-CC-Date=20260612T073913Z&HW-CC-Expire=86400&HW-CC-Sign=6275BEB02CD25E10ACA235806D17F6E749F7DDB0F01D9A6A4EFF144FE217C2FC) RSS：进程独占内存和相关共享库占用内存之和。
        
        ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/e3/v3/E_AvzAl1QbyCg8cdfzn1Cg/zh-cn_image_0000002625074179.png?HW-CC-KV=V1&HW-CC-Date=20260612T073913Z&HW-CC-Expire=86400&HW-CC-Sign=869389AC63AAF2F7EC068EE448C065A45969A6C24DA6D499782B8E0BE0047095) USS：进程独占内存。
        
        默认只显示PSS的统计图，如需要查看USS或RSS，需要在Memory泳道的右上角点选相关数据类型。
        
        ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/c8/v3/S0tEuxjcQ52iE7cuOSZ2Dg/zh-cn_image_0000002594634602.png?HW-CC-KV=V1&HW-CC-Date=20260612T073913Z&HW-CC-Expire=86400&HW-CC-Sign=3CF2F2A6827D797CCE2E6625E491D8478E3793BCFF34AED3EA32FCAAFB93A5DC)
        
        展开Memory泳道，子泳道展示的是按照内存类型将进程PSS值拆分开的各个维度的内存信息，包含ArkTS Heap、Native Heap、GL、Graph、Guard、AnonPage Other、FilePage Other、Dev/Stack、.hap、.so、.ttf。默认展示其中的五个子泳道，可以点击主泳道的options标签并勾选其他子泳道查看其他子泳道。
        
        ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/71/v3/eyU40tgcSMqwhUhIF1Stcg/zh-cn_image_0000002624994051.png?HW-CC-KV=V1&HW-CC-Date=20260612T073913Z&HW-CC-Expire=86400&HW-CC-Sign=6B17427727A3990367E98474BEC022AB51D44EA102FB63C8EA93AEC52E085070 "点击放大")
        
        | 
        子泳道
        
         | 
        
        说明
        
         |
        | :-- | :-- |
        | 
        
        ArkTS Heap
        
         | 
        
        ArkTS堆的内存占用。
        
         |
        | 
        
        Native Heap
        
         | 
        
        Native层（主要是应用依赖的so库的C/C++代码）使用new/malloc分配的堆内存。
        
         |
        | 
        
        GL
        
         | 
        
        包括应用和RS，应用为纹理内存，RS为纹理和图形渲染内存。
        
         |
        | 
        
        Graph
        
         | 
        
        该进程按去重规则统计的dma内存占用，包括直接通过接口申请的dma buffer和通过allocator\_host申请的dma buffer。
        
         |
        | 
        
        Guard
        
         | 
        
        保护段所占内存。
        
         |
        | 
        
        AnonPage Other
        
         | 
        
        其他所有匿名页所占内存（非heap、anon:native\_heap、anon:ArkTS heap开头的匿名页）。
        
         |
        | 
        
        FilePage Other
        
         | 
        
        其它映射到文件页但不能被归类到.so/.db/.ttf类型的内存占用。
        
         |
        | 
        
        Dev
        
         | 
        
        进程加载的以/dev开头的文件所占内存。
        
         |
        | 
        
        Stack
        
         | 
        
        栈内存。
        
         |
        | 
        
        .hap
        
         | 
        
        进程加载的.hap文件所占内存。
        
         |
        | 
        
        .so
        
         | 
        
        进程加载的.so动态库所占内存。
        
         |
        | 
        
        .ttf
        
         | 
        
        进程加载的.ttf字体文件所占内存。
        
         |
        
    *   **ArkTS Allocation泳道**：显示方舟虚拟机上的内存分配信息。该泳道默认不展示，如需录制该泳道数据，在录制前单击左上角菜单栏![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/7a/v3/w_WSGmQ1TUqvahaz91Mw_g/zh-cn_image_0000002594474672.png?HW-CC-KV=V1&HW-CC-Date=20260612T073913Z&HW-CC-Expire=86400&HW-CC-Sign=8F219B6D0C9E641EA17CD3DC7FDF5F42C38A47C7999CDFA6A7E6C8163F51B5CA "点击放大")图标，勾选ArkTS Allocation泳道。由于隐私安全政策，已上架应用市场的应用不支持录制此泳道。该泳道即将下线，推荐使用Snapshot模板分析ArkTS内存泄漏。
        
        ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/53/v3/9nt6PaltTVGGX2kXrg4xpQ/note_3.0-zh-cn.png?HW-CC-KV=V1&HW-CC-Date=20260612T073913Z&HW-CC-Expire=86400&HW-CC-Sign=D20C90573655A411E40A530F142FA95A5952BD80F163837ECCBEE658FB939C42)
        
        由于较大的性能开销可能导致卡顿/卡死问题，ArkTS Allocation暂不支持和如下泳道同时录制：
        
        *   All Heap & Anonymous VM泳道
        *   All Heap泳道
        *   All Anonymous VM泳道
        *   System Resources泳道
        *   Graphic Memory泳道
        
    *   **All Heap & Anonymous VM泳道**：显示具体的Native内存分配情况，包括静态统计数据、分配栈、每层函数栈消耗的Native内存等信息。由于隐私安全政策，已上架应用市场的应用不支持录制此泳道。
        
        单击工具控制栏中的![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/e0/v3/PUNKSuuaRJGbq_32gol4qQ/zh-cn_image_0000002594634604.png?HW-CC-KV=V1&HW-CC-Date=20260612T073913Z&HW-CC-Expire=86400&HW-CC-Sign=4D75AE7A7E738675D76F383A086A676E0945E58B1BCE3B452756BDD725DD0F69 "点击放大")按钮，可以设置是否为统计模式、统计间隔、最小跟踪内存、回栈模式、JS回栈、JS回栈深度和Native回栈深度。
        
        ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/20/v3/HcLhcKN1QpeCw8U9f549YA/zh-cn_image_0000002624994035.png?HW-CC-KV=V1&HW-CC-Date=20260612T073913Z&HW-CC-Expire=86400&HW-CC-Sign=95A5962F6BA89D86779778B0DDF2E6E86FA091A3ED6E38FC61F25634481E6960 "点击放大")
        
        | 
        配置项
        
         | 
        
        说明
        
         |
        | :-- | :-- |
        | 
        
        Statistics Mode
        
         | 
        
        该项配置代表是否开启统计模式采集数据，默认开启。开启后，数据会每隔Sampling Interval中设置的时间从设备端汇总并返回。关闭后，处于非统计模式，每次内存分配后数据会实时从设备端返回。
        
         |
        | 
        
        Sampling Interval
        
         | 
        
        统计时间间隔。仅在统计模式下需要设置，可设置范围为1s~3600s，默认为10s。
        
         |
        | 
        
        All Heap & Anonymous VM Filter Size
        
         | 
        
        最小跟踪内存，该参数表示最小抓取的内存大小。可配置范围为0-65535Bytes，默认为1024Bytes。
        
         |
        | 
        
        Backtrace Mode
        
         | 
        
        内存分配栈回栈模式。当前提供FP和DWARF两种回栈模式。FP回栈是通过帧指针（FP寄存器）链接栈帧，直接遍历调用链。DWARF回栈是基于编译器生成的DWARF调试信息进行栈回溯。默认FP回栈。FP回栈性能更好，但在某些特定场景下（例如so的编译参数控制），FP回栈可能失效，此时可选择DWARF回栈尝试。
        
         |
        | 
        
        Record JS Stack
        
         | 
        
        是否开启JS回栈。开启后，系统回栈时会自动从Native向JS层回栈，完成Native到JS的栈缝合，适合ArkTS/JS代码调用Native的场景。
        
         |
        | 
        
        JS Backtrace Depth
        
         | 
        
        JS回栈深度。可配置范围为1-128，默认10层。
        
         |
        | 
        
        Native Backtrace Depth
        
         | 
        
        Native回栈深度。可配置范围为5-100，默认10层。
        
         |
        | 
        
        Backtrace Stack
        
         | 
        
        回栈深度。仅当Backtrace Mode选择为DWARF模式的情况下存在，其层数代表着JS与Native的共同回栈深度。可配置范围为5-100，默认20层。
        
         |
        
        ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/22/v3/NYQPtdpGQWGsT6hgxyiPAw/note_3.0-zh-cn.png?HW-CC-KV=V1&HW-CC-Date=20260612T073913Z&HW-CC-Expire=86400&HW-CC-Sign=0A844C8AC5046E9AA67DA11635B8CDD6C6CF2230B323C97036D417844EEEDEF7)
        
        *   最小跟踪内存设置的数值越小，回栈深度越大，这可能会导致DevEco Profiler卡顿，请根据应用实际的调测情况进行合理设置。
        *   统计模式适用于不关注单次分配，但关注应用较长时间的内存变化，将指定的采样间隔内的数据做合并统计，以达到降低处理数据量，提高录制效率和时长。Sampling Interval设置为近似值，将尽可能在接近这个时间内做统计汇总，会有不超过1s偏差，不影响内存分配的正确性。
        *   使用统计模式时，录制的结束时间需要是Sampling Interval即采样周期的整数倍，例如当采样周期是10s时，停止录制时间建议在11s+/21s+，以此类推，留出余量给系统做数据处理与传输。
        
    *   **All Heap泳道**：显示Heap类型数据之和。展开主泳道，包括Native Heap、ArkTS Heap、JS Heap三条子泳道。其中Native Heap子泳道显示Malloc、ArkLocalHandle和ArkGlobalHandle内存分配，ArkTS Heap子泳道显示ArkTS对象内存分配，JS Heap子泳道显示JS对象内存分配。由于隐私安全政策，已上架应用市场的应用不支持录制此泳道。
        
        ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/d7/v3/ecN2Hl_IR1uPgD5tD5UEWg/zh-cn_image_0000002624994057.png?HW-CC-KV=V1&HW-CC-Date=20260612T073913Z&HW-CC-Expire=86400&HW-CC-Sign=813CF91478D55CFCF3011484E5D9B0A4E643C0E6E41DD11EABCA11B0E8CFBA74 "点击放大")
        
    *   **All Anonymous VM泳道**：显示匿名内存使用分布。展开主泳道，包括VM:ION、VM:ASHMem、VM:.so、VM:others四条子泳道。VM:ION子泳道显示DMA内存分配数据，VM:ASHMem子泳道显示匿名共享内存，VM:.so子泳道显示.so文件内存消耗，VM:others子泳道显示除ION、ASHMem、**.**so外的mmap类型数据。由于隐私安全政策，已上架应用市场的应用不支持录制此泳道。
        
        ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/f0/v3/0-qY4ZWSRmqfQmQ9-dZHgw/zh-cn_image_0000002594474704.png?HW-CC-KV=V1&HW-CC-Date=20260612T073913Z&HW-CC-Expire=86400&HW-CC-Sign=E9F564A1BC83A7EBAAFF4C9DC371715BD5572069D84E4419BF26E6AB2ABE96EB "点击放大")
        
    *   **System Resources泳道**：显示进程的系统资源使用情况。展开主泳道，包括File Descriptors、Threads两条子泳道。File Descriptors子泳道显示进程的文件句柄使用情况，Threads子泳道显示进程的线程使用情况。由于隐私安全政策，已上架应用市场的应用不支持录制此泳道。
        
        ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/f2/v3/JIQhgI4OS9a-C3szBGNjlA/zh-cn_image_0000002624994041.png?HW-CC-KV=V1&HW-CC-Date=20260612T073913Z&HW-CC-Expire=86400&HW-CC-Sign=71A0220EB43C92F988D51944D9DF5A7DAF2F37BE248FBEAB7550F6179B83DD97 "点击放大")
        
    *   **Graphic Memory泳道**：DevEco Studio 6.0.2 Beta1新增，用于显示图形渲染相关的内存分配情况。该泳道默认不展示，如需录制该泳道数据，在录制前单击左上角菜单栏![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/c9/v3/-UuWYmqqR1Wq-e6cNDS0-g/zh-cn_image_0000002594634596.png?HW-CC-KV=V1&HW-CC-Date=20260612T073913Z&HW-CC-Expire=86400&HW-CC-Sign=2E09C825CB9FA8CC4C06512488201EC9008A4554ECC28B1A508A9512FD5DCC60 "点击放大")图标，勾选Graphic Memory泳道。由于隐私安全政策，已上架应用市场的应用不支持录制此泳道。
        
        展开主泳道，包括Vulkan、OpenGL ES、OpenCL三条子泳道。其中Vulkan子泳道对应GPU\_VK类型的内存分配数据，OpenGL ES子泳道对应GPU\_GLES类型的内存分配数据，OpenCL子泳道对应GPU\_CL类型的内存分配数据。
        
        ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/f9/v3/pbA1MI-BTSuaFdBv7MWW4g/zh-cn_image_0000002594634620.png?HW-CC-KV=V1&HW-CC-Date=20260612T073913Z&HW-CC-Expire=86400&HW-CC-Sign=2AD49098D6072C57D2C9D8141DE3BD42205926B380C9D628ACEA2E0D6086A9E7 "点击放大")
        
    
3.  在目标泳道上长按鼠标左键并拖拽，框选要展示分析的时间段。Details区域中显示此时间段内指定类型的内存分析统计信息：
    
    *   **Memory泳道：**
        *   主泳道的详情区域显示当前框选时间段内各采样点的应用内存PSS总和，以及各种内存页面状态的内存占用总和。
            
            ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/b2/v3/RTUDmhDaSaS_yDV-F24Tfg/zh-cn_image_0000002624994059.png?HW-CC-KV=V1&HW-CC-Date=20260612T073913Z&HW-CC-Expire=86400&HW-CC-Sign=44566F26D371F4F4B010ED88FDD2CD716F65CABC8F3AAEE3CA70C9053682DBD2 "点击放大")
            
        *   子泳道的详情区域显示该泳道所代表的内存类型的框选时间段内各采样点的PSS总和以及各种内存页面状态的实际占用情况。
            
            ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/b2/v3/PwH_eWjLTJqABe9lM64YkA/notice_3.0-zh-cn.png?HW-CC-KV=V1&HW-CC-Date=20260612T073913Z&HW-CC-Expire=86400&HW-CC-Sign=E1D410E13BE8F7E0C4C5124B787CFA82B5A7BA071AC0AB8AB62B80D8808743EA)
            
            Graph字段统计方式为：计算/proc/process\_dmabuf\_info节点下该进程使用的内存大小。
            
            ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/a7/v3/DYKSpxU5QtugkSbYOarlOQ/zh-cn_image_0000002625074183.png?HW-CC-KV=V1&HW-CC-Date=20260612T073913Z&HW-CC-Expire=86400&HW-CC-Sign=A2DED233AC3065E30A7AC9DADDD60579E9CFBEE2562853D4DB52BDCC107B580A "点击放大")
            
    *   **ArkTS Allocation泳道**：显示被选择进程所使用的所有ArkTS内存总和，框选后展示此时段内录制到的所有方舟实例的对象分配信息。框选子泳道后显示当前框选时段内运行对象的内存使用情况，包括层级、对象自身内存大小、对象关联内存大小等。该泳道即将下线，推荐使用Snapshot模板分析ArkTS内存泄漏。
        
        “Details”区域中带![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/20/v3/fj61CvJKRtmxERmtfeq-Vg/zh-cn_image_0000002624994039.png?HW-CC-KV=V1&HW-CC-Date=20260612T073913Z&HW-CC-Expire=86400&HW-CC-Sign=DEC9FED12D82FF5A9222A17EA2E1A35FBE96035BC2D0817CD2FBDEA2217A8C32 "点击放大")标识的对象，表示其可以通过窗口访问。每个时段内已经释放的内存标记为灰色，未释放的内存标记为绿色。
        
        ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/21/v3/gCQ8PKEGQRqEk89cQrmNtg/zh-cn_image_0000002624994055.png?HW-CC-KV=V1&HW-CC-Date=20260612T073913Z&HW-CC-Expire=86400&HW-CC-Sign=97BA929CD9CF83C0A7AA58E3A21E2047FD4140104951762BA7DF8840DE110D1D "点击放大")
        
    *   **All Heap & Anonymous VM或All Heap或All Anonymous VM或System Resources或Graphic Memory泳道**：框选子泳道后显示具体的内存分配，包括静态统计数据、分配栈等。
        *   Statistics页签中显示该段时间内的静态分配情况，包括分配方式、总分配内存大小、总分配次数、尚未释放的内存大小、尚未释放次数、已释放的内存大小、已释放次数。
            
            在System Resources泳道的Statistics页签中不提供内存大小数据。
            
            点击任意对象上的跳转按钮，可跳转至此类对象的详细占用/分配信息。当前统计模式下不支持跳转。
            
        *   Call Trees页签显示线程的内存分配栈情况，包括函数地址或符号、分配大小、占比以及函数栈帧的类别等。
            
            在System Resources泳道的Call Trees页签中不提供分配大小数据。单击任一行栈帧，“More”区域将显示经过该栈帧的分配内存最大的调用栈。
            
        *   Allocations List显示内存分配的详细信息，包括内存块起始地址、时间戳、当前活动状态、大小、调用的库、调用库的具体函数、事件类型（与Statistics页签的分配方式对应）等。在System Resources泳道的Allocations List页签中不提供内存块起始地址和大小。
            
            ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/aa/v3/n1lFugQ4QhKYHiTNT-s87Q/note_3.0-zh-cn.png?HW-CC-KV=V1&HW-CC-Date=20260612T073913Z&HW-CC-Expire=86400&HW-CC-Sign=2DADEC1281BF44F237CD8E44B1963D372191E0A67FCF1329F8D189861DB52894)
            
            统计模式（Statistics Mode）开启后，不存在Allocations List信息。
            
            选择任一对象，右侧会展示与该对象相关的所有库和调用者。
            
            ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/08/v3/OyrBIkniSCK72liIH0FXFg/zh-cn_image_0000002594634618.png?HW-CC-KV=V1&HW-CC-Date=20260612T073913Z&HW-CC-Expire=86400&HW-CC-Sign=8A3E68F8007592232F3B460E92A7F3610E85805A1BAE5E646F334E6146FE713B "点击放大")
            
    
4.  （可选）根据分析结果，双击可能存在问题的调用栈，跳转至相关代码。开发者可根据实际需要进行优化。
    
    ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/30/v3/ay4FR283RjqohzZPLlv6zg/note_3.0-zh-cn.png?HW-CC-KV=V1&HW-CC-Date=20260612T073913Z&HW-CC-Expire=86400&HW-CC-Sign=0D92F6AA77020EC7B33CBFBE23C2E1C0635CB0B9C08218213F80C71CEF80BA2C)
    
    Release应用暂不支持跳转到用户侧Native代码。