我在我的应用中使用MWPhotoBrowser。
这是我在图库中查看照片时调用的委托方法:
-(MWPhoto*)getPhotoFromArray:(NSArray*)array atIndex:(int)index{
ImagesDb *imageObj = [imagesArr objectAtIndex:index];
ImagesDataDb *imageData = imageObj.data;
MWPhoto *photo = [[MWPhoto alloc]initWithImage:imageData.orignalImage];
return photo;
}
ImagesDataDb和imagesObj是CoreData Object
一切都很好,但是当我浏览照片时,内存会被填满(之前的图像没有被释放) 最终,应用程序因内存问题而崩溃。 我相信“ImagesDataDb”对象(此对象包含图像详细信息)会在内存中被分配,但它不会被释放,即使引用对象(在本例中为MWPhoto对象)也会被释放。 这意味着先前分配的对象不会留下内存。
这个问题的解决方案是什么?
答案 0 :(得分:0)
哦,是的,我现在明白了。 我简单地添加了这一行 ((ImagesDb *)[imagesArr objectAtIndex:index])。data = nil;到我的代码。 现在,发生的事情是它释放了对象使用的内存。
无论如何,谢谢你的回答