2012-03-22 88 views
0

大家好我想在tableview中顯示超過120 images其在模擬器中運行良好,但在設備(ipad)中崩潰。 日誌顯示內存警告,但我完全釋放我不知道爲什麼我得到這個消息和崩潰。圖片來自服務器我正在使用以下代碼。iPhone/iPad:表視圖滾動崩潰在ipad中

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    static NSString *CellIdentifier = @"Cell"; 
    FullTableViewCell *cell = (FullTableViewCell *) 
    [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
    if (cell == nil) { 
     NSArray *topLevelObjects = [[NSBundle mainBundle] 
            loadNibNamed:@"FullTableViewCell" owner:nil options:nil]; 
     for (id currentObject in topLevelObjects) {   
      if ([currentObject isKindOfClass:[UITableViewCell class]]) { 
       cell = (FullTableViewCell *)currentObject; 
       break; 
      } 
     } 
    } 

    NSDictionary *dic = [socketConnection().imageInfoArray objectAtIndex:indexPath.row]; 
    int imageId = [[dic objectForKey:@"id"] intValue]; 

    UIImage *image = [socketConnection().serverImageArray objectAtIndex:indexPath.row]; 
    UIImage *IMMage = [self scaleImage:image toResolution:740]; 


    cell.cellIMage.image = IMMage; 
    cell.addButton.tag = imageId; 
    cell.zoomOutButton.tag = imageId; 
    [cell.zoomOutButton addTarget:self action:@selector(_ZoomOut:) forControlEvents:UIControlEventTouchUpInside]; 
    [cell.addButton addTarget:self action:@selector(buttonAction:) forControlEvents:UIControlEventTouchUpInside]; 
    cell.transform = CGAffineTransformMakeRotation(3.14159265+(3.14159265/2)); 

    cell.selectionStyle = UITableViewCellSelectionStyleNone; 


    return cell; 
} 

PLZ人幫助我在哪裏,我錯了..

+0

可以運行工具,看看其中哪一個正在泄漏? – 2012-03-22 08:02:31

+0

'scaleImage'可能有問題嗎? – 2012-03-22 08:25:31

+0

我使用儀器沒有問題,... – user745048 2012-03-22 08:29:30

回答

0

實現:

if (cell) { 
[cell setImage:nil]; 
[cell setImage://image]; 
// Put ALL cell code here 
} 

和釋放:

圖像和IMMAGE和FullTableView和topLevelObjects和DIC前

return cell; 

最後也是最重要的:

也分析你的項目,看看是否有泄漏