2016-04-29 49 views
0

绑定图像处理库后使用visual studio xamarin,并将.Dll文件导入为我的App项目的引用。当我的图像传递到库中的应用程序崩溃,此错误Xamarin在绑定库内部出现内存不足错误

Java.Lang.OutOfMemoryError: Failed to allocate a 91411212 byte allocation with 2810016 free bytes and 2MB until OOM

只有当我传递一个大的图像文件> 2MB它发生的库内侧。 我已经将该项目的Java最大堆大小增加到最大值(1G)

回答

0

我设法绕过这个问题,通过传递一个缩小的图像副本,因为我不需要用它的全分辨率来处理图像。

0

从错误消息中可以看出它无法分配91411212字节。这是相当多的87 MB的未压缩数据。

看起来好像图书馆已经坏了,或者它正在做一些非常糟糕的事情。

在项目属性中增加堆大小仅适用于构建时间,因为Java耗尽内存或需要更多资源时。所以这根本不影响运行时间。

这是哪个库?

+0

它是Catalano Jar库(与Aforge超级类似)我使用VS绑定它并且 我设法绕过该错误,将源图像最小化为800 x 800像素,然后将其传递到库, –