2

私のアプリでは、AFNetworking を使用して URL から多くの画像を表示し、UICollectionView で非同期に読み込みます。しばらくするとメモリ不足のためにアプリがクラッシュするため、おそらく多すぎます。しかし、Instruments を使用すると、[すべてのヒープ割り当て] の下にメモリ リークは見られません。

ただし、VM ダーティ メモリは増加し続けます。「CG ラスター データ」のエントリが多数表示されます。これには私の画像とのリンクがあると確信していますが、どのようなものかわかりません。

このメモリを解放する方法はありますか? メモリの場合、 ARC でどのように解決できますか? (保持サイクルが表示されません)

ありがとうございました

4

1 に答える 1

0

少し遅れましたが、UIImageJPEGRepresentation.

あなたの最善の策は、自動解放プールにラップすることです

@autoreleasepool {

// Code here... 

}

これにより、参照カウントが 0 のブロック内のすべてのインスタンスが解放されます。これはループに適しています。そうしないと、メソッド コンテキストの最後に到達するまでメモリ フットプリントが増加します。

于 2014-05-13T07:16:05.893 に答える