我在寻找在内存中连续分配大型多维数组的有效方法时遇到了。这个公认的答案表明,对于一个大小为sz[0] x sz[1] x sz[2]的3D数组,应该使用这种方法,该方法目前正在融化我虚弱的大脑:
int (*a)[sz[1]][sz[2]] = calloc这看起来像分配的太少,没有任何意义,因为它似乎分配了sz[0]x int
我最近发现,NDK代码可以分配的内存量没有硬性限制,而在Java端可以分配的内存量非常有限(在大多数设备上为25 of )。我想写一个图像处理应用程序(类似Photoshop),它需要在内存中同时保存几个大的位图,其中位图数据将占用20 at的内存。在Java中这样做,使应用程序很容易在我尝试过的许多设备上出现