我将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。 我可能遇到的问题是什么?
答案 0 :(得分:0)
即使您明确发布了UIImage
的实例,您正在使用的照片数组仍会引用它们。这意味着图像不会像您期望的那样从内存中释放。
不幸的是,我不熟悉EGOPhotoViewer
。有没有办法可以懒得加载图片?可能还有其他选项,例如缩小图像的大小,但这取决于您的要求。