画像が画面に描画されるまで、メモリの問題が低くならないのはなぜですか?
-
04-10-2019 - |
質問
記憶の警告の問題なしに、200を超えるUIIMAGEオブジェクトをNSMUTABLEDICTIONARYにロードすることができます。
画面に表示を開始すると(10〜20枚の画像が表示された後)、メモリの警告と最終的なクラッシュが低くなります。
いつでも表示される画像は約8枚のみです。
画面に実際にuiimageを描くのに追加のメモリが必要ですか?
メモリリークは表示されていません。何度も何度も漏れのコードをレビューしました。
解決
ドキュメンテーション 持っていると言います UIImage
画像キャッシュからパージできるため、画像が実際にメモリに保存されていることを必ずしも意味するものではありません。しかし、それを描画しようとすると、それはメモリに引き戻されると言います。たぶん、それは低いメモリ状態について警告する前に、その画像キャッシュからパージを開始し始めます。それはあなたが見ているすべてを説明しています。
他のヒント
最初に画像へのリンクを作成する可能性がありますが、この時点で実際に読まれているデータのみは寸法と画像タイプ(要するに)です。画面上で。実際の画像データがFilepathからダウンロードされ、その画像タイプに従ってデコードされると、キャッシュされるため、もう一度ダウンロードする必要がなくなります。バッファリングオフ画面図面には追加のメモリが必要です。新しい画像をロードする前に、すべての画像データを処分してみてください。
所属していません StackOverflow