我一直在为这个问题寻找一个好的和可靠的解决方案,请帮助我 问题是我在 Android (C++ ndk) 中使用 OpenCV 创建图像过滤应用程序,当我在将位图转换为整数数组并将其传递到 native c++ 函数后,每次调用 OpenCV native c++ 函数时,我都会在位图上连续应用过滤器. 过滤器工作正常,我得到了结果,但是当我根据设备连续应用它们时,当我再次将过滤器(整数数组)的结果转换为位图时,应用程序会给出 OutOfMemory 异常。 在不同的设备上我测试了这个并且成功应用过滤器的次数是不同的。 我得到异常的代码行是
bmOutImg = Bitmap.createBitmap(bmInImg.getWidth(), bmInImg.getHeight(),Config.ARGB_8888);
我不想将图像调整为更小的分辨率 谁能告诉我解决此问题的确切代码解决方案。我将非常感激!
最佳答案
问题很简单,我没有在原生 C++ 代码中释放数组。
关于Android图像处理过滤器导致OutOfMemory Exception,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26675628/