2017-02-06 11 views
1

UIScrollviewアプリのドキュメントディレクトリから50以上の画像がクラッシュしました。「アセットへの接続が中断されたか、資産が死んでいます(メモリ警告あり)」。誰もがこれらの画像をロードする最良の方法を提案できますか?前もって感謝します。私のコードはObjective-Cです。UIScrollviewアプリのドキュメントディレクトリから50以上の画像がクラッシュする

+4

なぜそれらをすべてメモリにロードする必要がありますか?表示されているものをロードできませんか? 'UICollectionView'や' UITableView'を使うと、この作業に役立ちます。 – redent84

答えて

2

ケースにイメージを表示する最適なオプションは、画面に表示されなくなったときに内部的にセルをデキューするため、UITableViewまたはUICollectionViewを使用することです。 。 あなたのケースでは、UIScrollViewはサブビューをデキューしないため、画面には常にメモリが消費され、オペレーティングシステムはメモリ使用量が多いためにアプリケーションを終了(クラッシュ)します。

+0

UICollectionViewでスクロールしているときに20〜30の画像がある場合は、UICollectionViewを使用しています。私は記憶の警告を受けた。早急に提案してください。 –

+0

CollectionViewを使用して達成したい出力を共有できますか? (必要なレイアウトのスクリーンショットをいくつか用意してください) –

+0

「メモリ警告」の主な理由の1つは、画像のサイズかもしれません。画像のサイズが非常に大きい場合は、大量のメモリが必要になることがあります。コレクションビューに表示する前にイメージを圧縮する必要があるかもしれません。 –

1

UIScrollViewの代わりにUITableViewを使用する必要があります。 しかし、画像が非常に大きい場合は、前処理(サイズ変更)されていない限り、1つの画像をロードするだけでクラッシュします。

関連する問題