小编hel*_*imi的帖子

UIScrollView包含许多UIImageViews - 内存管理

我有内存管理这个大问题.

问题:
我有一个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

4
推荐指数
1
解决办法
4386
查看次数