4

私は現在、Core Data オブジェクトに保存されたバイナリ データを使用して、以下のコードとして UIImage を生成しています。

UIImage * postImage = [UIImage imageWithData:image];
double imageRatio = postImage.size.height / postImage.size.width;
[imageContent setFrame:CGRectMake(imageContent.frame.origin.x, imageContent.frame.origin.y, imageContent.frame.size.width, imageContent.frame.size.height * imageRatio)];
[imageContent setImage:postImage];

ただし、画像を生成するときに少し遅いことがわかりました。
代わりに、サーバーからデータを取得するときに画像をローカルに保存する必要がありますか?
どちらの方法が速いですか?

ありがとう、

4

3 に答える 3

4

Core Data データベースではなく、イメージをローカル (Documents または Caches ディレクトリなど) に保存します。バイナリ データをデータベースに格納しても、このデータで検索したりインデックスを付けたりすることはなく、データベースが肥大化するだけなので、何のメリットもありません。画像を保存するファイル名/パスへの NSString 参照を保存するだけです。

UIImage:imageWithData メソッドは、既に適切な画像形式になっているファイルから画像を読み取る場合と比べて遅いと思います。

于 2012-04-19T05:05:03.050 に答える
1

画像をローカルに保存し、coreData にその画像の場所と名前「URL」を保存します

于 2012-04-19T04:56:26.403 に答える
1

NSData の代わりに PNG や JPEG などの画像をローカルに保存します。

于 2012-04-19T05:21:19.807 に答える