-1
我在等待字符串,我運行循環很多次,應用程序崩潰。它顯示錯誤消息如何奶源錯誤消息是malloc的:* MMAP(大小= 16777216)失敗(錯誤代碼= 12) 錯誤:不能分配區域 設置在malloc_error_break斷點調試 *由於未捕獲異常'NSMallocException'而終止應用程序,原因:'內存不足。我們建議重新啓動應用程序。如果您有未保存的文檔,請在Finder中創建備份副本,然後嘗試保存。我的代碼是`NSMutableString * str = [NSMutableString stringWithCapacity:100000];如何多次運行循環
int i;
for(i=0;i<1000000;i++){
[str appendString:@"abcd"];
}`
這是一個字符串大約16mb,需要嗎? – 2013-04-05 05:00:32
請看這裏[NSString的最大尺寸限制](http://stackoverflow.com/questions/6482641/what-is-the-maximum-length-of-an-nsstring-object) – 2013-04-05 05:03:24
這很簡單;你使用了所有可用的內存。如果你正在做一些有意義的事情,有辦法爲你的程序獲得一個更大的堆,但看起來你只是在測試一些東西。我不認爲這裏真的有問題;你剛剛發現了你的電腦的侷限性。 – 2013-04-05 05:19:40