1

まあ、メモリ管理は私を夢中にさせます!

これが私の問題です:

画像への参照が 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 個の画像を読み込もうとすると、アプリがメモリ警告を受け取ります。

お分かりだと思いますよね?

助言がありますか?

事前にご協力いただきありがとうございます。

4

1 に答える 1