UIImageView+AFNetworking
の URL から画像をダウンロードして表示するためにを使用していますUITableView
。すべてがうまく機能しており、私の質問は、この呼び出しで実装されているキャッシュ要素と割り当てに関するものです。
計測器を使用してメモリを追跡すると、スクロールすると、最大のメモリ割り当てがすぐにこれになりVM: Foundation
、何らかの方法でダウンロードしている画像がキャッシュされているように見えます。
これは、同じ画像を表示するときにユーザーにとって素晴らしいことですが、メモリが解放されることはありません。(私はまだメモリ警告に到達できていません)。必要なときにこの割り当てが解放されるようにしたいだけです。以下はそれらのスタックトラックですVM : Foundation
これを監視し、必要に応じてキャッシュ用のメモリを解放して、スムーズなスクロールを確保する必要はありますか? または、これが適切に処理されていることを確認するために監視する必要があるものは他にありますか?
で画像を呼び出す方法は次のとおりcellForRowAtIndexPath
ですsetImageWithURLRequest
。アドバイスや改善をいただければ幸いです。
NSString *imageURL = [NSString stringWithFormat:@"https://IMAGE-URL/%@",imageURL];
__weak MainTableViewCell *weakCell = cell;
NSURLRequest *urlRequest = [[NSURLRequest alloc]initWithURL:[NSURL URLWithString:imageURL]];
[cell.postImage setImageWithURLRequest:urlRequest placeholderImage:nil success:^(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image) {
MainTableViewCell *strongCell = weakCell;
strongCell.postImage.image = image;
[UIView animateWithDuration:.15 animations:^{
strongCell.postImage.alpha = 1;
}];
} failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error) {
}];