JS中的内存释放

1、全局申请的buffer,splice()

var aVideoYUVBuffer = [];

function downloadYUVData(yuvData)
{
    if (bWriteYUVData) {   
	    let bufferPackage = new Uint8Array(yuvData);
		let iIndexBuffer = aVideoYUVBuffer.length;
		for (let i = 0, iLen = bufferPackage.length; i < iLen; i++) {
			aVideoYUVBuffer[iIndexBuffer + i] = bufferPackage[i];
		}
		iYUV10size++;
		bufferPackage = null;
	}
    if (bWriteYUVData&&iYUV10size >= WRITE_YUV_NUM)
	{
		console.log("download"+WRITE_YUV_NUM+"YUVdata");
        let YUVbuffer = new Uint8Array(aVideoYUVBuffer);
        downloadFile(YUVbuffer, "videoYUV.data");
        aVideoYUVBuffer.splice(0, aVideoYUVBuffer.length);//清空YUV缓存
        bWriteYUVData = false;
        iYUV10size = 0;
        YUVbuffer = null;
    }
}

2、malloc申请的缓存,进行free

//内存申请
var pDataYUV = Module._malloc(nYUVSize1);


//内存释放
if (pDataYUV != null) {
    Module._free(pDataYUV);
    pDataYUV1 = null;
}

3、new Uint8Array后要置空

let bodyData0 = new Uint8Array(sourceData);
bodyData0=null;//置空处理

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值