【发布时间】:2010-11-01 08:10:30
【问题描述】:
我正在编写一个需要同时在内存中保存大约 40 个 44 kb JPEG 的应用程序。我听说应用程序在触发内存不足警告之前可以使用大约 22 兆字节,所以我很确定它应该能够做到这一点。但是,一旦我加载了兆字节,这些消息就会开始在控制台中弹出:
6 月 8 日星期一 16:37:19 未知配置 [21]:内核内存事件 (90),空闲:374,活动:1736,非活动:959,可清除:0,有线:6260 6 月 8 日星期一 16:37:20 未知 configd[21]:内核内存事件 (95),空闲:363,活动:876,非活动:492,可清除:0,有线: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 兆字节的内存吗?
【问题讨论】:
标签: iphone memory uiimage memory-management