我正在编写一个需要一次在内存中保存大约 40 个 44 kb JPEG 的应用程序。我听说应用程序在触发内存不足警告之前可以使用大约 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 6 月 8 日星期一 16:37:20 未知 SpringBoard[22]:内存级别很关键 (5%)。没有要杀死的应用程序。将杀死 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 应用程序真的只能使用 1 兆字节的内存吗?