# CCMResLeakChecker

# 概述

CCMResLeakChecker 为内存泄露检查工具,支持追踪某种特定资源的所有addRefdecRef的堆栈,需要与CCMResLoader结合使用,主要支持以下接口

  • startCheck 开始检查
  • stopCheck 结束检查
  • reset 重置(清空收集到的堆栈)
  • getTraceAssets 获取跟踪到的堆栈信息
  • dump 在控制台dump堆栈信息

资源过滤,通过设置CCMResLeakChecker实例的resFilter属性,可以判断传入的资源是否需要进行内存泄露检查,resFilter的函数原型如下

export type FilterCallback = (asset: cc.Asset) => boolean;

# 使用

初始化CCMResLeakChecker,设置到CCMResLoader.resLeakChecker中,在准备开始检查的时候调用startCheck,然后正常地加载资源,调用addRefdecRef使用资源

        let checker = new CCMResLeakChecker();
        checker.startCheck();
        CCMResLoader.resLeakChecker = checker;

追踪到的资源堆栈信息可以直接dump,在控制台输出

        CCMResLoader.resLeakChecker.dump();