EGOPhotoViewer的内存问题

时间:2011-06-02 12:52:15

标签: objective-c ios image ipad

我将EGOPhotoView用于我的图片本地图库。图像数量为152,分辨率为1400x950px。 我的设备内存有问题!内存不会被释放。我显示一个图像45mb +下一个55mb +下一个72mb .....超过130mb的应用程序崩溃。 在这段代码中我添加了图片:

NSMutableArray *photos = [[NSMutableArray alloc] init];
for (Picture *picture in [self fetchedResultsController].fetchedObjects) {
        UIImage *img = [UIImage imageNamed:[NSString stringWithFormat:@"%@.jpg", picture.imgName]];
        MyPhoto *photo = [[MyPhoto alloc] initWithImageURL:nil name:[NSString stringWithFormat:@"%@, %@, %@", picture.friendlyName, picture.type, picture.date] image:img painter:(Painter *)picture.painter];
        [photos addObject:photo];
        [photo release];

}
        MyPhotoSource *source = [[MyPhotoSource alloc] initWithPhotos:[NSArray arrayWithArray:photos]];
        EGOPhotoViewController *photoController = [[EGOPhotoViewController alloc] initWithPhotoSource:source];
        UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:photoController];
        navController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
        navController.modalPresentationStyle = UIModalPresentationFullScreen;
        [self presentModalViewController:navController animated:YES];
        [navController release];
        [photoController release];
        [source release]; 
    [photos release];

我使用EGOPhotoViewer作为modalView。 我可能遇到的问题是什么?

1 个答案:

答案 0 :(得分:0)

即使您明确发布了UIImage的实例,您正在使用的照片数组仍会引用它们。这意味着图像不会像您期望的那样从内存中释放。

不幸的是,我不熟悉EGOPhotoViewer。有没有办法可以懒得加载图片?可能还有其他选项,例如缩小图像的大小,但这取决于您的要求。