cocos加载fnt后是不是无法真正从内存中清除资源?

我尝试了在cocos creator 编辑器(3.8.7)中增加Label组件,选择fnt字体后,当前场景勾选auto release assets,但是退出当前场景后,使用chrome还是看到fnt相关资源在内存中,onDisable中使用assetManager.releaseAsset(font);也不行

使用动态加载,结束后使用assetManager.releaseAsset(font);也还是不行

请问字体资源是不是无法清除干净?虽然占内存不大

你的字体是如何加载的。
动态还是静态

动态的话还是依赖自己去管理资源缓存
静态加载的话 auto release assets 就行了

您好,我都测试过,都不行。比如最简单的静态加载,在勾选auto release assets后,在切换进入这个场景和退出该场景后,使用chrome的memory snap看,还是有字体资源的残留,具体为这个fnt字体的
cc.ImageAsset(有大小,多少kb),ccTexture2D(0kb)类型的资源残留

您的意思是要调用decRef?这个我没试过,不过下列代码我试了,无法清除
try {
console.log(🗑️ 开始释放 ${resourceName} 字体资源);

        // 释放纹理
        if (font.spriteFrame?.texture?.isValid) {
            assetManager.releaseAsset(font.spriteFrame.texture);
            console.log(`✅ ${resourceName} 纹理已释放`);
        }
        
        // 释放 SpriteFrame
        if (font.spriteFrame?.isValid) {
            assetManager.releaseAsset(font.spriteFrame);
            console.log(`✅ ${resourceName} SpriteFrame已释放`);
        }
        
        // 释放字体本身
        assetManager.releaseAsset(font);
        console.log(`✅ ${resourceName} BitmapFont已释放`);
        
    } catch (error) {
        console.warn(`⚠️ 释放 ${resourceName} 时出错:`, error);
    }