【发布时间】:2013-03-27 09:50:49
【问题描述】:
我正在附加字符串,我循环运行了很多次应用程序崩溃了。它显示错误消息我如何管理错误消息是 malloc: * mmap(size=16777216) failed (error code=12) 错误:无法分配区域 在 malloc_error_break 中设置断点进行调试 * 由于未捕获的异常“NSMallocException”而终止应用程序,原因:“内存不足。我们建议重新启动应用程序。如果您有未保存的文档,请在 Finder 中创建一个备份副本,然后尝试保存。我的代码是` NSMutableString * str = [NSMutableString stringWithCapacity:100000];
int i;
for(i=0;i<1000000;i++){
[str appendString:@"abcd"];
}`
【问题讨论】:
-
一个字符串大约 16mb,需要吗?
-
这很简单;你使用了所有可用的内存。如果你在做一些有意义的事情,有办法为你的程序获得更大的堆,但看起来你只是在测试。我不认为这里真的有问题。您刚刚发现了计算机的局限性。
标签: objective-c