Copyright (C) iPhoneアプリ開発備忘録 All rights reserved.
ブログ内で記したコード、内容の正確性は保証いたしません。
記載内容を実装したことにより発生した不具合・損害等の責任は一切負いません。



2010年11月05日

キャッシュされないUIImageViewの使い方



UIImageViewで画像を使うとき、下記のようにimageNamedを使って画像ファイルを読み込むとキャッシュされるので、メモリリークとなることがある。
UIImage *image = [UIImage imageNamed: [NSString stringWithFormat:@"Photo.png"]];
UIImageView *imageView = [[UIImageView alloc] initWithImage:image];


代替策として、dataWithContentsOfFileを使うとキャッシュを使わずに画像を表示することができる。
NSString *fileLocation = [[NSBundle mainBundle] pathForResource:@"Photo" ofType:@"png"];
NSData *imageData = [NSData dataWithContentsOfFile:fileLocation];

UIImage *image = [UIImage imageWithData:imageData];
UIImageView *imageView = [[UIImageView alloc] initWithImage:image];



他の手法として、initWithContentsOfFileを使用する方法もある。
NSString *fileLocation = [[NSString alloc] init];
fileLocation = [[NSBundle mainBundle] pathForResource:@"Photo" ofType:@"png"];
UIImage* image = [[UIImage alloc] initWithContentsOfFile:fileLocation];

タグ:iPhone
posted by mobileDeveloper at 16:27 | Comment(0) | TrackBack(0) | UIImageView はてなブックマーク - キャッシュされないUIImageViewの使い方 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック
Apple、Appleのロゴ、App Store、iPodのロゴ、iTunesは、米国および他国のApple Inc.の登録商標です。
iPhone、iPod touch、iPadはApple Inc.の商標です。
iPhone商標は、アイホン株式会社のライセンスに基づき使用されています。
その他、本ブログに記載されている製品名、会社名は、それぞれ各社の商標または登録商標です。