0

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

4

1 回答 1

1

我敢打赌没有必要这样做。Android 位图已经用 C 语言编写,并且在大多数情况下已经硬件加速。很高兴知道您将要实现什么目标以及您已经付出了哪些努力。

编辑:

因此,如果您考虑在内存中有很多图像,您可以使用本机内存。诀窍是您可以使用 Java 方法进行绘图(这很方便)和本机内存来存储未使用的图像(既快又大)。您可以尝试使用 NativeBuffer 库来完成此类任务:http ://code.google.com/p/native-buffer/

用法非常简单。您必须将所有图像预加载到缓冲区。然后,当您需要图像时,可以从缓冲区中加载它。您甚至可以在 draw() 方法中执行此操作。与 sdcard 相比,它的速度非常快。

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

于 2013-02-26T10:52:05.987 回答