废弃的内存问题与堆

时间:2013-12-14 22:27:53

标签: ios memory heap instruments allocation

我想了解一下Xcode中的仪器面板。我正在使用ARC。在检查分配时,我一直在想出一些废弃的内存。下图描绘了我的prepareForSegue方法的代码。每次我点击执行segue时,都会分配内存并且永不释放。因此,如果我在两个viewControllers之间来回移动,内存会不断攀升并最终终止应用程序。我使用这些工具来缩小代码中的问题但不确定从何处开始。我在网上看到了几个关于如何识别问题的例子,但没有看到如何解决问题。所以我的问题是,这里发生了什么导致应用程序无法释放内存?

prepareForSegue method

viewController 1的

属性:

@property (nonatomic, retain) NSMutableArray *recAlbumsArray;
@property (nonatomic, retain) NSMutableArray *titlesArray;
@property (nonatomic, retain) NSMutableArray *timersArray;
@property (nonatomic, retain) NSMutableArray *albumsArray;
@property (nonatomic, retain) NSMutableArray *imagesArray;
@property (nonatomic, retain) NSMutableArray *objsIdArray;
@property (nonatomic, retain) NSArray *imagesDataArray;

@property (nonatomic, weak) NSArray *recAlbumData;
@property (nonatomic, weak) NSArray *albumData;
@property (nonatomic, weak) NSString *albumTitle;
@property (nonatomic, weak) NSString *objId;
viewController 2的

属性:

@property (nonatomic, retain) NSMutableArray *album;
@property (nonatomic, weak) NSString *title;
@property (nonatomic, weak) NSString *albumRef;
@property (nonatomic, weak) NSString *objId;

我尝试在viewDidDisappear方法中将所有属性设置为nil,并尝试从viewController数组层次结构中删除第一个viewController,但没有任何更改。

0 个答案:

没有答案