【问题标题】:Occur Memory Leak, when create object using 'new' on android在android上使用'new'创建对象时发生内存泄漏
【发布时间】:2018-04-01 04:38:01
【问题描述】:

最近我致力于减少我的 android 源上的内存泄漏。

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

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

如果你看图

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创建对象时会发生内存泄漏

所以我尝试在return outputBufferIndex; 上添加bufferInfo = null;

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

并且发生内存泄漏不变。

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

谢谢。

【问题讨论】:

  • 这看起来不像C++ 它看起来像Java
  • 从那张图片中,我看到提到了java。这不是C++
  • 对不起,我添加了提到的错误

标签: java android memory memory-leaks


【解决方案1】:

尝试将 MediaCodec.BufferInfo 与新的运算符分配一起使用。它应该会消除您的错误..

【讨论】:

  • 谢谢,IMediaCodec 被覆盖 MediaCodec. usually, object clear I use object = null` 但我的来源不起作用。
猜你喜欢
  • 2023-03-10
  • 1970-01-01
  • 1970-01-01
  • 2015-02-12
  • 1970-01-01
  • 2014-02-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多