繁体   English   中英

iPhone上的目标C中的最大数组大小?

[英]Maximum array size in objective C on iPhone?

我有一个非常大的数组(96,000个GLfloat类型的元素)。 以前是24,000个元素,直到我进行了一些更改。 现在我崩溃了。 我还没有做很多调试工作,但是当我注意到我的一个阵列变得多么荒谬时,我认为这值得研究。 因此,我唯一的问题是,单个数组是否96,000个元素(或384,000个字节)是否过多?

在堆上应该没问题,但是您应该避免在堆栈上分配该大小的内存。 因此,您应该使用malloc/freenew[]/delete[]创建和销毁该大小的数组。

如果设备的内存不足,则可以预期对大量内存的请求偶尔会返回NULL 有些应用程序(例如照片/图像处理)要求分配数十兆字节的内存,这比384 KiB分配的内存大很多倍。

阵列大小没有上限,请保存设备上的可用RAM量。

我不认为它太大。 某些图像资源会占用那么多或更多的连续空间而不会出现问题。 例如,一个400x400px的图像大约需要160,000 * 4 = 640,000字节的内存。 我认为问题出在其他地方。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM