我有内存管理这个大问题.
问题:
我有一个UIScrollView,我有一个包含24条路径到图像的数组,我想在UIScrollView启用分页的情况下显示它们.
所有图像的大小均为1024x748(具有状态栏的iPad横向分辨率),文件类型为jpg或png.
我正在使用延迟加载只是为了不超过内存时viewDidLoad.而且我将使用PageControl从Apple的延迟加载样本开始.虽然我用的是UIImageViews代替UIViews.
所以我的问题是,当我滚动到第三个图像时,我想从中删除第一个图像UIScrollView并释放其内存.因为我进一步滚动,更多的内存正在耗尽.当我在UIScrollView中页面并加载并添加新图像时,使用了大约5000kb的内存,当我进入unloadPage:(见下文)时,没有任何内容被释放.我只是"做错了"?
如何UIImageViews正确释放和删除?
(我正在加载UIImages initWithContentsOfFile:)
这是我的代码:
@interface SlideViewController : UIViewControllerExtended <UIScrollViewDelegate> {
ScrollViewController *slider;
IconView *currentChapter;
NSMutableArray *chapters;
NSMutableArray *views;
UIImageView *controller;
}
Run Code Online (Sandbox Code Playgroud)
延迟加载功能:
- (void) loadImageToScrollView:(NSInteger)chapter withPage:(NSInteger)page {
if (page < 0) return;
if (page >= chapterCount) return;
if([views objectAtIndex:page] != [NSNull null]) return;
NSMutableArray *all = [[currentChapter getImages] copy];
if(!([[all objectAtIndex:page] rangeOfString:@".mp4"].length …Run Code Online (Sandbox Code Playgroud) memory-leaks memory-management uiscrollview uiimageview ipad