iphone - 帮助在 UIWebview 中加载大图像?

标签 iphone ipad memory-management uiscrollview

我使用以下代码在 UIWebview 中加载图像。对于每个图像(在滚动 ScrollView 时)都会调用一个函数来加载图像。问题是,当我连续滚动最多 30 个图像时,应用程序崩溃。可能是什么原因?我的图像尺寸为 1300 x 1200 像素。请帮我找到解决方案。

- (void) loadCatalogImage 
{
    @try{
//  if(imgView.image != nil)
//      return;
    //  [global_imgProgress startAnimating];
    //NSLog(@"image loading at = %@, %d", baseURL, 2 + pageNo);
    NSAutoreleasePool *pool;
    pool = [[NSAutoreleasePool alloc] init];

    //NSArray *array = [global_ContentString componentsSeparatedByString:@"@@#"];
    NSArray *array1 = [catalogURL componentsSeparatedByString:@"&"];
    //NSLog(@"baseURL = %@",baseURL);
    NSLog(@"loading catalog image(method: loadCatalogImage).......%@%@",baseURL, [[[array1 objectAtIndex:0] componentsSeparatedByString:@"##"] objectAtIndex:0]); 

    zoomedImageURL = [NSString stringWithFormat:@"%@%@", baseURL, [[[array1 objectAtIndex:0] componentsSeparatedByString:@"##"] objectAtIndex:1]];
//  NSLog(@"Catalog ZOOM URL = %@", zoomedImageURL);//[[array1 objectAtIndex:0] componentsSeparatedByString:@"##"]);//[[[array objectAtIndex:[[global_CatalogRef objectAtIndex:pageNo] intValue]] componentsSeparatedByString:@"##"] objectAtIndex:3]);
    [zoomedImageURL retain];

    NSLog(@"aaaaaaa = %@",zoomedImageURL);
    [webView loadRequest:
        [NSURLRequest requestWithURL:
            [NSURL URLWithString:
                [NSString stringWithFormat:@"%@%@",baseURL, [[[array1 objectAtIndex:0] componentsSeparatedByString:@"##"] objectAtIndex:1]
                ]
            ]]
        ];

    }
}

最佳答案

任何加载足够资源以占用如此多内存的应用程序都会崩溃。 Apple 有几个演示项目,专门用于通过将大图像分解为较小的 block 来加载大图像,建议您看一下它们。

关于iphone - 帮助在 UIWebview 中加载大图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5140571/

相关文章:

iphone - awakeFromNib 中的代码被 Storyboard覆盖

c++ - 如何检查变量是否有资源?

c++ - 我们可以通过 IPC 传递具有动态管理成员的类的对象吗?

c++ - 需要一个简单的 C++ 宾果游戏板的优雅解决方案

iphone - iPhone 应用程序中的 JSON 解析

iphone - 在 Mac 和 iPhone 之间同步核心数据模型

iphone - 我应该将哪个 Flurry 库用于通用 iPhone/iPad 应用程序?

ios - 将应用程序替换为 iOS App Store 上的通用版本

iphone - 设置使用 iPhone 相机捕获的图像类型

iphone - 使用 UIView animateWithDuration 进行动画处理时无法触摸 UIButton