2016-04-07 13 views
0

kullanarak büyük resimleri karşıdan yükleme uygulama kazasında SDWebImage kullanıyorum sunucudan görüntü async'i indirmek için kullanıyorum.Somuzdaki görüntülerin boyutu büyüktür (1772x1476 piksel.) Bu resimleri UICollectionView'de gösteriyorum. Birkaç çalıştırmadan sonra bellek uyarısı ve uygulama çökmeleri alıyorum. Bazı zamanlar resimler ilk kez indirildiğinde ve koleksiyon görünümü yukarı ve aşağı kaydırıldığında bir süre sonra gerçekleşir. İşte benim Kodunuzu i uygulama tam boyutlu görüntü göstermek gerekir yoksa resminSDWebImage

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{ 

    UICollectionViewCell *cell=[collectionView dequeueReusableCellWithReuseIdentifier:@"cellIdentifier" forIndexPath:indexPath]; 

[Mainimage sd_setImageWithURL:[NSURL URLWithString: Obj.imageYH] placeholderImage:[UIImage imageNamed:@""]]; 

    return cell; 
} 

enter image description here

+0

Bu hatanın görüntü indirme nedeniyle yapılmadığına inanıyorum. – Hemang

+0

o zaman neden nedir? – Krish

+1

Merhaba Krish, yine ben. Hadi bazı hesaplamalar yapalım. 1772 x 1476 piksel boyutundaki fotoğrafınız, yükleme sırasında oldukça fazla RAM harcadı. RAM harcanan 1772 x 1476 x 24 (bit)/8 = 7846418 bayt = 7662 Kb = 7 MB'dir. Cihazda RAM sınırlı olduğundan, belleği tüketmek için böyle büyük bir fotoğraf yüklememelisiniz. Resmi sunucu tarafında yeniden boyutlandırmayı düşünün veya aynı anda birden çok büyük fotoğraf yüklemeyin. Xcode bellek monitöründe davranışı onaylayabilirsiniz. – Raptor

cevap

0

altında gibi benim x koduna uyarı alıyorum

, o zaman her zaman var olduğunu Ölçeklendirmek ve göstermek için iyi bir uygulama. İşte yapılacak bir örnek. Bellek sorunlarını azaltmanıza yardımcı olur.

+0

Merhaba Ruchira Randana orada mısın? – Krish

+0

Merhaba @Krish. Çalışmıyor mu? –

+0

hayır çalışmıyor ve beni hatırladın mı kardeşim? – Krish

0
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{ 

      UICollectionViewCell *cell=[collectionView dequeueReusableCellWithReuseIdentifier:@"cellIdentifier" forIndexPath:indexPath]; 

    [Mainimage setImageWithURL:[NSURL URLWithString: Obj.imageYH] placeholderImage:[UIImage imageNamed:@""]]; 

      return cell; 
}   

deneyin bu

+0

diff b? W kodum ve kodum nedir? – Krish

+0

ve benim kodunda bu uygulamak zorunda – Krish

+0

da BULUNMADI edildi ve bana – Shreyank

1

Sen kullanabilirsiniz:

[SDImageCache sharedImageCache] .config.shouldDecompressImages = HAYIR; [[SDWebImageDownloader sharedDownloader] setShouldDecompressImages: NO];

Sürüm 4.0-beta