1

我在我的应用程序中使用 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 对象

一切都很好,但是当我浏览照片时内存被填满(因为以前的图像没有发布)最终,应用程序由于内存问题而崩溃。我相信“ImagesDataDb”对象(该对象详细包含图像)被分配在内存中,但它没有被释放,即使它的引用对象(在这种情况下为 MWPhoto 对象)被释放。这意味着先前分配的对象不会留下内存。

这个问题的解决方案是什么?

4

1 回答 1

0

哦,是的,我现在明白了。我简单地添加了行 ((ImagesDb*)[imagesArr objectAtIndex:index]).data = nil; 到我的代码。现在,发生的事情是它释放了对象使用的内存。

无论如何,谢谢你的答案

于 2013-10-04T13:54:17.897 回答