Я пишу приложение, которое должно одновременно хранить в памяти около сорока файлов JPEG размером 44 КБ. Я слышал, что приложения могут использовать около 22 мегабайт, прежде чем выдает предупреждение о нехватке памяти, поэтому я почти уверен, что это должно быть возможно. Однако, как только я передаю загруженный мегабайт, в консоли начинают появляться следующие сообщения:
Mon Jun 8 16:37:19 unknown configd[21] : kernel memory event (90), free: 374, active: 1736, inactive: 959, purgeable: 0, wired: 6260 Mon Jun 8 16:37:20 unknown configd[21] : kernel memory event (95), free: 363, active: 876, inactive: 492, purgeable: 0, wired: 6241 Mon Jun 8 16:37:20 unknown SpringBoard[22] : Memory level is critical (5%). No apps to kill. Will kill SpringBoard Mon Jun 8 16:37:24 unknown SpringBoard[22] : Jetsaming SpringBoard...
Затем он возвращает меня на главный экран.
Вот код, который я использую для загрузки изображений:
#define NUM_IMAGES 40
@interface MyClass : NSObject {
UIImageView* imageView;
UIImage* loadedImages[NUM_IMAGES];
}
- (void)initImages;
@property (nonatomic, retain) IBOutlet UIImageView* imageView;
@end
@implementation MyClass
@synthesize imageView;
- (void)initImages {
int i;
for (i = 0; i < NUM_IMAGES; i++) {
loadedImages[i] = [UIImage imageNamed:[NSString stringWithFormat:IMAGE_FORMAT, i+1]];
}
imageView.image = loadedImages[0];
}
@end
Что-то я здесь делаю не так? Могут ли приложения для iPhone действительно использовать только мегабайт памяти?