我想通过在C语言中使用Android本机库显示图像来提高我的应用程序的性能。这个问题是由于我的应用程序中的图像需要大量内存。
答案 0 :(得分:1)
我敢打赌,没有必要这样做。 Android Bitmaps已经用C编写,在大多数情况下,已经硬件加速了。很高兴知道,你将要实现什么,以及你已经付出了多少努力。
编辑:
因此,如果您考虑在内存中包含大量图像,则可以使用本机内存。诀窍在于您可以使用Java方法绘制(这很方便)和本机内存来存储未使用的图像(快速而大)。您可以尝试使用NativeBuffer库执行此类任务:http://code.google.com/p/native-buffer/
用法非常简单。您必须将所有图像预加载到缓冲区。然后,当您需要图像时,可以从缓冲区加载它。即使在draw()方法中也可以这样做。与sdcard相比,它的速度非常快。
当然要知道NativeBuffer使用C风格的分配,你可能会耗尽系统内存。它不会抛出OutOFMemoryError,但强制停止您的应用程序而不要求。 NativeLibrary包含一些用于检查可用内存的实用程序,但您必须自己管理它。