一度に約 44 kb の JPEG をメモリに保持する必要があるアプリケーションを作成しています。アプリケーションは、メモリ不足の警告をトリガーする前に約 22 メガバイトを使用できると聞いたので、これを実行できるはずだと確信しています。ただし、ロードされたメガバイトを通過すると、コンソールに次のメッセージが表示され始めます。
月 6 月 8 日 16:37:19 不明な configd[21]: カーネル メモリ イベント (90)、フリー: 374、アクティブ: 1736、非アクティブ: 959、パージ可能: 0、有線: 6260 月 6 月 8 日 16:37:20 不明な configd[21]: カーネル メモリ イベント (95)、フリー: 363、アクティブ: 876、非アクティブ: 492、パージ可能: 0、有線: 6241 Mon Jun 8 16:37:20 unknown 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 メガバイトのメモリしか使用できないのでしょうか?