2016-11-02 5 views
0

collectionViewcolectionCellにはhorizontalCollectionも含まれています)に画像を読み込むときに問題が発生します。SDWebImageで画像を読み込むと、プロジェクトのメモリを取得する

showActivityIndicator() 
imageView.sd_setOptimizedImageWithURL (url, placeholderImage: placeholder) { 
    self?.hideActivityIndicator() 
}) 

私はまた、次の操作を行います。

override func prepareForReuse() { 
     super.prepareForReuse() 
     hideActivityIndicator() 
     seshImageView.sd_cancelCurrentImageLoad() 
} 

は、それから私は、/ダウン、最終的にクラッシュが起こるまでスクロールしています。 Instrumentsからの割り当ての使用私はメモリが急速に成長しているのを見ていますが、まだ修正できません。 私の画面を確認してください。 TotaBytesはほぼ6GBを達成し、その後クラッシュします。 enter image description here 私が間違っていることを理解するのに助けてくれる人がいますか?ありがとう!

答えて

1

// //これは確かとしてあなたのメモリ使用量の問題を解決するだろうUICollectionViewCellは、あなたはそれがペン先を使用したり

import UIKit 
import SDWebImage 
class TDtopicCell: UICollectionViewCell { 


    @IBOutlet weak var image: UIImageView! 
    override func awakeFromNib() { 
     super.awakeFromNib() 
     // Initialization code 
     loaderAct!.transform = CGAffineTransformMakeScale(2, 2); 
     loaderAct!.startAnimating(); 
     addShadow(); 
    } 
    func downLoadImage(_url:String) -> Void { 

     image.sd_setImageWithURL(NSURL(string: _url),placeholderImage:nil, options:SDWebImageOptions.RetryFailed , completed: {[weak self] 
      (image, error, cacheType, url) in 
      // do your custom logic here 
      if let wSelf = self { 
       dispatch_async(dispatch_get_main_queue()){ 
        wSelf.clear() 
       } 

      } 
      }) 
    } 
    func clear() -> Void { 
     if((loaderAct) != nil) 
     { 
      loaderAct!.removeFromSuperview(); 
     } 
    } 
} 

//このメソッドは私のカスタムUICollectionView に属しているコードを使用して定義することができ表す私のカスタムセル遅延読み込みを使用して画像を取得する

override func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell { 
    let cell = collectionView.dequeueReusableCellWithReuseIdentifier(reuseIdentifier, forIndexPath: indexPath) as!TDtopicCell 
    eachTDtopic=collectionData![indexPath.item]; 
    //eachTDtopic?.topicImage is image path ------------------------------------------ 
    cell.downLoadImage((eachTDtopic?.topicImage)!); 
    // Configure the cell 

    return cell 
} 
+0

説明していただきありがとうございます。少し後で試してみてください。問題は画像の読み込みだけではないようです。私がすべてのコードにコメントを書き、空のセルだけをスクロールすると、メモリは増え続けます。多分あなたはそれに直面したでしょうか?普段ですか?ありがとう! – Svitlana

+0

あなたのUICollectionViewにreuseIdentifiersを使用していますか? – dragoneye

+0

はい、私はreuseIdentifiersを使用していますが、私はあなたの助けに間違いを見つけたと思われ、遅延読み込みも役に立ちました! – Svitlana

関連する問題