iPad中存在大量数据的问题

时间:2012-10-12 15:26:51

标签: iphone objective-c ios xcode

我正在处理通过网络服务接收大量数据(例如 30K 数组中的字典)的应用。 我正在使用JSON工具包来解析大量数据。得到回复后,我会将这些数据存储到plist文件中(因为我想在离线模式下运行应用程序)。

之后我使用NSMutableArray( 30K 字典)访问此数据。现在进一步计算我使用这个数组并使用这个循环 7-8次进行计算以绘制图形。

//path = path from which i access the plist

NSMutableArray *array = [[NSMutableDictionary alloc] initWithContentsOfFile: path];

//where array contains about 30K dictionaries.

for(int i=0; i<[array count]; i++) {

    // some calculation formula
}

执行上述循环后,相同的循环被调用7-8次。

由于内存问题,我从plist读取数据后,我的应用程序崩溃了。请帮我解决问题。

1 个答案:

答案 0 :(得分:0)

由于您的问题与内存有关,因此您必须尽快释放内存。我假设您在iOS 6.0中使用ARC。尝试在@autoreleasepool中使用循环,看看是否有任何区别。如果需要,您也可以使用嵌套的@autoreleasepool。

for(int i=0; i<[array count]; i++) {
   @autoreleasepool {
       // calculation formula
    }
}

老路;

NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
for(int i=0; i<[array count]; i++) {
       // calculation formula
}
[pool drain];