まあ、メモリ管理は私を夢中にさせます!
これが私の問題です:
画像への参照が n 個ある plist があります。私がやろうとしているのは、各子を取得して、ページングが有効になっている UIScrollView に追加された UIImageView にロードすることです。
私の問題:
- n 個の画像があります。たったの 3 人かもしれませんが、60 人以上になるかもしれません。
- ズーム可能なため、各画像はかなりの解像度 (1152x1536) です。
CATiledLayer について読み、PhotoScroller のサンプルを見ましたが、CATiledLayer を使用したくないのは、画像の一部を表示しているときにフェードインが作成され、私のプロジェクトではその効果が収まらないためです。
あなたの意見を聞きたいのですが、通常、この種のタスクをどのように解決しますか?
ここに私のコードの一部を残します:
UIImage * image;
UIImageView * imageview;
for (int i = 0; i < [data count]; i++)
{
image = [[UIImage alloc] initWithContentsOfFile:[NSString stringWithFormat:@"%@/%@",
[[NSBundle mainBundle] bundlePath],
[[data objectAtIndex:i] objectForKey:@"content"]]];
[content addObject:image];
imageview = [[UIImageView alloc] initWithImage: [content objectAtIndex:i] ];
[imageview setTag:i+10];
imageview.frame = CGRectMake(1024 * i, 0, 1024, 768);
[scroll addSubview: imageview];
[imageview release];
[image release];
}
[scroll setContentSize:CGSizeMake(1024*[data count], 768)];
このコードにより、たとえば 60 個の画像を読み込もうとすると、アプリがメモリ警告を受け取ります。
お分かりだと思いますよね?
助言がありますか?
事前にご協力いただきありがとうございます。