android开发中使用opencv,如何解决内存泄漏问题? 20C

大家好,
目前开发一个android项目,需要用到opencv,便于图像数据的利用,
于是就直接调用了opencv的camera进行frame采集。
使用过程中发现,画面会越来越卡,最后导致程序崩溃,一查看是native内存
累积2个G,从而崩溃掉了。
因为不太了解opencv,使用方式是在网上的教程里学的,release()也写了,并不能
解决内存问题,所以请教一下,是否有办法解决这个问题。
谢谢~

4个回答

suhang0922
Hangs22 还在研究,对于我这个新手,有点吃力
接近 2 年之前 回复

一个技巧性的做法是再搞一个进程来运行opencv,通过网络或者文件和你的主程序交互。因为独立的进程关闭,那么所有的内存都会回收的,这样就解决了任何内存泄露问题。
当然这个办法不是那么学院派,但是绝对粗暴、简单、有用。

suhang0922
Hangs22 方法不错,不过好像有点不适用,因为要调用相机,可能再搞一个线程不太合适,谢谢
接近 2 年之前 回复

opencv是基于Intel处理的吧?安卓是arm处理器吧。模拟器上可能能用真机不行。说错勿怪,完全新手只了解这些。

suhang0922
Hangs22 回复: opencv发布了android和iOS的包,证明是支持手机端调用的。其次,实践出真理,没有实践过没有发言权。哈哈
接近 2 年之前 回复
csdncsdntoo
csdncsdntoo 回复: 求指教,想了解错在哪些地方
接近 2 年之前 回复
suhang0922
Hangs22 貌似比我还新手 哈哈
接近 2 年之前 回复

new出来的mat要及时release

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐