2

多数の大きな画像を含む大きなスクロールビューを表示するためにAppleのScrollingSuiteを使用しています.(768 x1024) imageviewの画像は

controller.numberImage.image = [self.contentList objectAtIndex:page]; 

ここで、numberImage は UIImageView で、controller はスクロールビューに追加するビューコントローラーのオブジェクトです。ページがスクロールされて表示されなくなったときに、画像を nil に設定しています

controller.numberImage.image = nil;

しかし、問題は、画像をスクロールしたときにメモリ警告を受け取るメモリが不足していることです。新しい画像が表示されるたびに、インストルメント ツール (メモリ タグ 70) でメモリが増加していることがわかります。これで私を助けてください

前もって感謝します

4

2 に答える 2

1

imageView ( [controller.numberImage removeFromSuperview];) を削除してから、表示される前に再度追加してみてください ( [controller addSubview:[[UIImageView alloc] initWithImage:[self.contentList objectAtIndex:page]]];) 可能性がありますか?

于 2011-10-19T02:26:34.293 に答える
0

この種の問題にはさまざまな種類の解決策が考えられるので...

  1. .it が最初の解決策になる[controller.numberImage removeFromSuperview]場合は、必要に応じてimageview を削除し、再度イメージを割り当てることができると思います。UImageView

  2. 説明すると、一度に 3 つの画像を読み込むことができます。次に、現在の画像、前の画像、次の画像を読み込みます。つまり、画像 2 を一度に 3 つの画像、画像 1、画像 2、および画像 3 で読み込みたい場合です。次の画像にスクロールするときは、画像 2、画像 3、画像 4 をロードし、画像 1 の割り当てを解除します。

  3. 最悪の解決策は、画像のサイズを変更せずに画像の解像度を下げようとすることです。

于 2011-10-26T09:08:44.037 に答える