Ich verwende SDWebImage, um Bild Async vom Server herunterzuladen.Einige Bilder auf dem Server sind von der Größe (1772x1476 Pixel.) Ich zeige diese Bilder auf UICollectionView. Ich bekomme Speicherwarnung und App stürzt nach mehreren Lauf.Einige Male passiert es, wenn Bilder zum ersten Mal heruntergeladen und einige Zeit, wenn ich die Sammlung Ansicht nach oben und unten scrollen. Hier ist mein Code-App beim Herunterladen von großen Bildern mit SDWebImage
ich auf meinem x Code Warnung bin immer wie unten Bild
- (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;
}
Ich glaube fest, dass dieser Fehler nicht wegen des Herunterladens von Bildern ist. – Hemang
was ist dann die Ursache? – Krish
Hi Krish, ich bin es wieder. Lassen Sie uns ein paar Berechnungen anstellen. Ihr 1772 x 1476 Pixel großes Bild hat während des Downloads ziemlich viel RAM verbraucht. Der ausgegebene Arbeitsspeicher beträgt 1772 x 1476 x 24 (Bit)/8 = 7846418 Bytes = 7662 Kb = 7 MB. Da das Gerät nur über einen begrenzten Arbeitsspeicher verfügt, sollten Sie kein so großes Foto laden, um den Speicher auszulasten. Ziehen Sie in Betracht, das Bild auf der Serverseite zu vergrößern oder laden Sie nicht mehrere große Fotos gleichzeitig. Sie können das Verhalten im Xcode-Speichermonitor bestätigen. – Raptor