Мне не хватает чего-то очевидного, но как получилось, что следующее очень простое приложение, которое создает 1000 1MB объектов данных и хранит их в массиве, работает и не кажется насыщенным (объем памяти приложения отображается как 1,7 МБ в Xcode)? Этот код был протестирован на iPad 2 с 1 ГБ памяти и не разбился.Использование памяти Objective-C
@implementation AppDelegate {
NSMutableArray* datas;
}
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
datas = [NSMutableArray new];
for (int i = 0; i < 1024; i++) {
[datas addObject:[NSMutableData dataWithLength:1024*1024]];
}
return YES;
}
@end
Я думаю, что вопрос на самом деле, если некоторые из распределений фактически сделано на флэш-памяти IPAD (вместо RAM), и если кто-нибудь имеет какие-либо более подробную информацию об этом?
Это сбой для меня при запуске устройства. Вызов 'dataWithLength' начинает возвращать нуль (я думаю, когда он заканчивается), а вызов' addObject: 'вызывает исключение. – thelaws
Вы правы, это начинает крутиться в какой-то момент. Тем не менее, я все еще не совсем понимаю, почему Xcode сообщает только о размере памяти 1.7 МБ при запуске приложения. – quentinadam
Когда вы говорите, что Xcode сообщает только 1,7 МБ, это в симуляторе? –