gpt4 book ai didi

iphone - subarrayWithRange 具有大数据

转载 作者:行者123 更新时间:2023-12-03 21:10:26 33 4
gpt4 key购买 nike

iPad 应用程序

我有一个很大的文本文件,我想将其分成几个部分并循环处理它们。我使用了以下代码:

NSArray * contentArray = [stringFromFile componentsSeparatedByString:@" "];

for(...){
contentRange = NSMakeRange(lastPosition , newLength);
NSArray * subContentArray = [contentArray subarrayWithRange:contentRange];
NSString *subContent = [subContentArray componentsJoinedByString:@" "];
....
//Process sub content here...

}

运行后,我收到 malloc 错误,代码 12

观察事件监视器,内存和虚拟机大小不断增加,直到系统内存耗尽且应用程序崩溃。

有什么办法可以防止这种情况发生吗?

最佳答案

解决此问题的一种方法是使用自定义 NSAutoreleasePool 不断清除临时分配的内存。就像这样:

NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSUInteger i=0;

for (...) {
... // your method contents

if (++i % 10 == 0) {
// you might want to play with the frequency of the releases, depending on the size of your loop
[pool release];
pool = [[NSAutoreleasePool alloc] init];
}
}

[pool release];

关于iphone - subarrayWithRange 具有大数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3643807/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com