gpt4 book ai didi

ios - 使用 SDWebImage 下载大图像时应用程序崩溃?

转载 作者:可可西里 更新时间:2023-11-01 05:33:55 25 4
gpt4 key购买 nike

我正在使用 SDWebImage 从服务器异步下载图像。服务器上的一些图像大小约为 1.5 到 2.MB。我在 UICollectionView 上显示这些图像>。几次运行后我收到内存警告和应用程序崩溃。有时会在第一次下载图像时发生,有时会在我上下滚动 Collection View 时发生。这是我的代码-

-(void)setImageWithUrl:(NSURL*)imgurl onImageView:(UIImageView*)image prograssive:(BOOL)progressive
{
__block UIActivityIndicatorView *activityIndicator;
__weak UIImageView *weakImageView = image;
SDWebImageOptions opt;
if (progressive) {

opt = SDWebImageProgressiveDownload;
}
else
opt = SDWebImageRetryFailed;
[image sd_setImageWithURL:imgurl placeholderImage:[UIImage imageNamed:@"default_image"] options:opt progress:^(NSInteger receivedSize, NSInteger expectedSize)
{
if (!activityIndicator)
{
[weakImageView addSubview:activityIndicator = [UIActivityIndicatorView.alloc initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray]];
activityIndicator.center = CGPointMake(weakImageView.frame.size.width /2, weakImageView.frame.size.height/2);
// activityIndicator.center = weakImageView.center;
[activityIndicator setBackgroundColor:[UIColor clearColor]];
[activityIndicator startAnimating];
}
}
completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL)
{
[activityIndicator removeFromSuperview];
activityIndicator = nil;
}];
}

并且在 AppDelegate-

- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application
{

[[SDImageCache sharedImageCache] clearMemory];
[[SDImageCache sharedImageCache] cleanDisk];
[[SDImageCache sharedImageCache] clearDisk];
[[SDImageCache sharedImageCache] setValue:nil forKey:@"memCache"];
}

请注意图片不是高分辨率的(超过 3000 像素宽度)。例如其中一张有 4256*2832 和大小 979KB 产生内存警告。任何帮助或建议将不胜感激。编辑:- 我的应用程序由于内存压力而被终止,但仅限于 iPhone 4s 及更低版本(在 iPhone5 及更高版本上运行良好)。当正在下载大图像(或完成下载)时,我突然出现内存峰值(从 ~25mb 到 ~90mb)和应用程序崩溃。有什么建议可以做什么吗?

最佳答案

听起来您的应用程序由于内存压力而被终止。检查Instruments内存增加的确切位置,也许可以尝试使用 Autorelease Pool以减轻任何内存峰值。

关于ios - 使用 SDWebImage 下载大图像时应用程序崩溃?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27780485/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com