0
我有一個內存泄漏導致應用程序崩潰。當我在上面評論時,我沒有任何內存泄漏。與setImage相關的內存泄漏
myCell.image1.image = 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
我分析和實時字節得到高於200 MB,並且應用程序崩潰沒有錯誤。當我評論myCell.image1.image = image;
。該應用程序不會崩潰。
我正在使用ARC。 你有什麼想法嗎?
我們需要更多的代碼來幫助你。 myCell創建在哪裏?它是一個自定義類嗎?你如何宣佈image1和圖像?你在使用ARC嗎? – LuisCien
@LuisCien我提出了我的問題,謝謝。 – tchike
你確定這是'image1'的聲明嗎? IBOutlet不是一種類型。它應該被聲明爲:'@property(strong,nonatomic)IBOutlet UIImage * image1' – LuisCien