使用' new'创建对象时发生内存泄漏在android上

时间:2017-10-20 03:00:41

标签: java android memory memory-leaks

最近我在减少Android源代码中的内存泄漏。

我在android studio上使用分配跟踪工具

我的应用正在录制相机预览应用

enter image description here

如果你看图片

protected int getOutPutBufferIndex() {
       IMediaCodec.BufferInfo bufferInfo = new IMediaCodec.BufferInfo(); //here occur memory leak
       int outputBufferIndex = mediaCodec.dequeueOutputBuffer(bufferInfo, timeout); //get buffer index
       return outputBufferIndex;
}

此方法仅返回缓冲区索引。

我猜使用new

创建对象时会发生内存泄漏

所以我尝试在bufferInfo = null;

上添加return outputBufferIndex;

bufferInfo = null;分配给从未使用的消息。

并且发生内存泄漏不变。

那么,如何使用new创建对象,避免android上的内存泄漏?

感谢。

1 个答案:

答案 0 :(得分:0)

尝试使用MediaCodec.BufferInfo和new operator assignment.it应该删除你的错误..