2016-07-11 36 views
1

Ich habe versucht, folgende Bibliotheken für Bild Cache:iOS App abstürzt, wenn die Anzeige großes Bild von URL

  • SDWebImage

  • UIImageView + AFNetworking

Aber immer noch App bekommen Speicher Warnung, abgestürzt und stecken beim Scrollen.

Ich habe UITableViewCell für Anzeigebild verwendet.

Einige der Bilder sind 1,5 MB oder mehr, also bin ich mir nicht sicher, ob dies das Problem oder etwas anderes ist?

Bitte führen. Alle Bemühungen von Ihrer Seite werden geschätzt.

EDIT:

Ich habe UITableViewCell für Last UICollectionViewCell in UITableView:

-Code für UITableViewCell.

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    static NSString *simpleTableIdentifier = @"homecell"; 

    HomeViewCell *cell = (HomeViewCell *)[tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier]; 
    if (cell == nil) 
    { 
     NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"HomeViewCell" owner:self options:nil]; 
     cell = [nib objectAtIndex:0]; 
    } 

    NSArray *arr=[[arrPsots objectAtIndex:indexPath.row ] valueForKey:@"PostImage"]; 
    [cell setCollectionWithImageArray:arr]; 

    return cell; 
} 

-Code für UICollectionViewCell.

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

    static NSString *cellIdentifier = @"ScrollCollectionCell"; 
    ScrollCollectionCell *cell = [collectionView1 dequeueReusableCellWithReuseIdentifier:cellIdentifier forIndexPath:indexPath]; 

    NSString *imgKey = ([email protected]"PostImage":@"PostImage"); 
    NSString *strImage=[NSString stringWithFormat:@"%@",[arrImages valueForKey:imgKey]]; 

    [cell.imgScroll setImageWithURL:[NSURL URLWithString:strImage] placeholderImage:[UIImage imageNamed:@"placeholder.png"]]; 

    if ([arrImages count]==1) { 

     self.pageControllPostImg.hidden=TRUE; 
    } 
    self.pageControllPostImg.hidden=TRUE; 
    self.pageControllPostImg.numberOfPages=[arrImages count]; 
    return cell; 
} 
+0

könnten Sie Code zum Abrufen und Anzeigen von Bildern anzeigen? –

+0

Wie @TejaNandamuri sagte, müssen wir etwas Code sehen. In der Zwischenzeit möchten Sie vielleicht die [THIS] (http://stackoverflow.com/questions/24177205/handling-download-of-y-large-images-with-sdwebimage) Frage von mir und ein damit zusammenhängendes Problem [ HIER] (https://github.com/rs/SDWebImage/pull/769) in der 'SDWebImage' Bibliothek selbst. – n00bProgrammer

+0

Verwenden Sie wiederverwendbare Zellen? – Igor

Antwort

0

Ich hatte dieses Problem in einem Projekt, wo frühere Programmierer jedes Mal neue Zelle erstellen und nicht wieder verwendbare Zellen verwendet haben.

+0

Ich habe Code nach "EDIT" hinzugefügt, siehe Code. –

+0

versuchen, HomeViewCell zu ersetzen * cell = (HomeViewCell *) [tableView dequeueReusableCellWithIdentifier: simpleTableIdentifier]; if (zelle == nil) { NSArray * nib = [[NSBundle mainBundle] loadNibNamed: @ "HomeViewCell" Besitzer: Selbst Optionen: nil]; Zelle = [Nib objectAtIndex: 0]; } mit HomeViewCell * Zelle = (HomeViewCell *) [Tabelle anzeigen dequeueReusableCellWithIdentifier: SimpleTableIdentifier forIndexPath: IndexPath]; – Igor

+0

Ich werde Ihre Hilfe in dieser Hinsicht zu schätzen wissen. Aber immer noch keine Verbesserung in irgendeinem Problem, das in Frage gestellt wird. –