簡體   English   中英

UITableView中的大量內存使用情況

[英]Much memory usage in UITableView

我有一個UITableViewController並且自定義了它的UITableViewCell 每個UITableViewCell包含兩個UIImageViews和兩個UILabel 雖然當我進入UITableView ,內存使用量增加到100 MB,但我不知道原因。 這是處理單元格自定義的cellForRowAtIndexPath方法的代碼。 誰能幫我解決這個問題?

- (UITableViewCell *)tableView:(UITableView *)tableView 
         cellForRowAtIndexPath:(NSIndexPath *)indexPath{

    static NSString *simpleTableIdentifier = @"Cell";

    UITableViewCell *cell = 
      [tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];

    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault 
                                      reuseIdentifier:simpleTableIdentifier];
    }   

    UILabel *mnhmeioLabel = (UILabel *)[cell viewWithTag:102]; 
    mnhmeioLabel.frame = CGRectMake(mnhmeioLabel.frame.origin.x,  
                                    mnhmeioLabel.frame.origin.y, 
                                    191, 
                                    21);

    Group *tmpGroup = [mnhmeiaTotal objectAtIndex:indexPath.row];
    NSLog(@"%@ ",tmpGroup.title);    
    NSLog(@"%f %f", mnhmeioLabel.bounds.size.width, 
                    mnhmeioLabel.bounds.size.height);

    mnhmeioLabel.text = tmpGroup.title;
    mnhmeioLabel.font = [UIFont fontWithName:@"Open Sans" size:10];    
    mnhmeioLabel.numberOfLines=0;
    mnhmeioLabel.lineBreakMode=NSLineBreakByWordWrapping;    
    [mnhmeioLabel sizeToFit];   

    if( tmpGroup.imagesOfArticle.count > 0 ){
        UIImageView *mnhmeioImageView = (UIImageView *)[cell viewWithTag:103];
        mnhmeioImageView.image = [tmpGroup.imagesOfArticle objectAtIndex:0];
    } else {
        UIImageView *mnhmeioImageView = (UIImageView *)[cell viewWithTag:103];
        mnhmeioImageView.image = [UIImage imageNamed:@""];
    }    

    UIImageView *markerImageView=(UIImageView *)[cell viewWithTag:100];
    markerImageView.image=[self selectMarker:tmpGroup];

    UILabel *mnhmeioDescription = (UILabel *)[cell viewWithTag:101];
    mnhmeioDescription.text=tmpGroup.constructedContent;

    mnhmeioDescription.font = [UIFont fontWithName:@"Open Sans" size:6];    
}

圖片可能很大。

或者,也許您沒有正確地重用單元格,如果您使用的是iOS7和Storyboards,請遵循此教程(原型單元格和使用子類的單元格部分): http ://www.raywenderlich.com/50308/storyboards-tutorial -在ios-7-part-1中

謝謝大家的幫助。 我不得不盡可能地減小每個圖像的大小。 這解決了我的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM