0

我有内存泄漏导致应用程序崩溃。当我在上面评论时,我没有任何内存泄漏。

myCell.image1.image = 图像;

myCell 是一个自定义UICollectionViewCell并创建为:

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

    CustomCollectionCell *myCell = [collectionView dequeueReusableCellWithReuseIdentifier:@"project" forIndexPath:indexPath]; 

    NSData *imageData = [NSData dataWithContentsOfFile:_images[row] options:0 error:NULL];
    UIImage *image = [UIImage imageWithData:imageData];
    myCell.image1.image = image;
    return myCell;
} 

图片大小约为 8 MB,共有 7 张图片。当我第四次打开视图控制器时,应用程序崩溃(8x7x4 > 200 MB);)

CustomCollectionCell.h

#import <UIKit/UIKit.h>
#import "CellButton.h"

@interface CustomCollectionCell : UICollectionViewCell

@property (strong, nonatomic) IBOutlet UILabel *titlePro;
@property (strong, nonatomic) IBOutlet UILabel *datePro;
@property (strong, nonatomic) IBOutlet UIImageView *image1;
@property (strong, nonatomic) IBOutlet CellButton * button;

@end

CustomCollectionCell.m

#import "CustomCollectionCell.h"
#import "UIView+Themes.h"

@implementation CustomCollectionCell

- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
    // Initialization code
    }
    return self;
}


@end

我分析并且 Live Bytes 超过 200 MB,并且应用程序崩溃而没有错误。当我评论myCell.image1.image = image;. 该应用程序不会崩溃。

我正在使用ARC。你有什么想法?

4

1 回答 1

0

包含 CustomCollectionCell 的视图控制器有一个模态 segue,我从未调用过下面的行。

[self dismissViewControllerAnimated:YES completion:nil];

这就是为什么我的照片没有发布的原因。

于 2013-10-16T21:13:35.290 回答