2013-02-26 66 views
0

我想通过使用C语言的android本机库显示图像来提高我的应用程序的性能。此问题是由于我的应用程序中的图像需要大量内存。使用Android本机库显示图像

+1

我完全怀疑你会改善这种方式。画布是一个非常高性能的API。 – 2013-02-26 10:50:07

+0

我认为Android应用程序只能获得应用程序的限制大小,所以我需要增加不仅限于25MB或堆大小的大小,以便加载图像可能不需要很多时间,可以通过本地库降低大小。 – 2013-02-26 10:57:27

回答

1

我敢打赌,没有必要这样做。 Android位图已经用C编写,并且在大多数情况下已经硬件加速。很高兴知道,你会做什么,你已经做了什么努力。

编辑:

所以,如果你想有大量的图片在内存中,可以使用本机内存。诀窍是,您可以使用Java方法进行绘制(这很方便),并且可以使用本机内存来存储未使用的图像(速度快而且大)。您可以尝试使用NativeBuffer库执行此类任务:http://code.google.com/p/native-buffer/

这个用法非常简单。您必须将所有图像预加载到缓冲区。然后,当你需要一个图像时,你可以从缓冲区加载它。即使在draw()方法中也可以做到这一点。与sdcard相比,它非常快速。

当然要知道,NativeBuffer使用C风格的分配,你可能会用完系统内存。它不会抛出OutOFMemoryError,但会强制停止应用程序而不询问。 NativeLibrary包含一些用于检查可用内存的实用程序,但您必须自己管理它。

+0

我有一个像汤姆这样的应用程序,需要花费很多时间来处理不同的动画。还有什么可以提高我的表现? – 2013-02-26 11:02:29

+0

请编辑您的问题(添加有关大量内存所需的信息),以便您可以在您的问题上获得更多答案和一些upvotes。干杯 – Zielony 2013-02-26 11:12:43