UIWebView内存泄漏解决办法(二)

UIWebView


接着上一篇博客,继续探究UIWebView内存的相关知识;由于无法控制UIWebView导致的内存增长,那么,只能给他一个大小,如果超过了这个限制的内存大小,就需要自动清除网络缓存即可代码如下:

如果你的iPhone应用程序嵌入UITableview或者直接发出HTTP请求与NSURLConnection的时候,都需要控制内存使用量。Web请求可以使用大量的内存,您可能会发现内存占用量的增长和增长的越多,使用的应用程序。其中一个我们在应用程序中看到的高内存使用率的主要原因是未能明确配置 NSURLCache。

1、首先,让我们配置NSURLCache时,应用程序启动时(任何请求之前取得),高速缓存,所以我们可以控制它的内存使用量。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {   
    int cacheSizeMemory = 4*1024*1024; // 4MB
    int cacheSizeDisk = 32*1024*1024; // 32MB
    NSURLCache *sharedCache = [[[NSURLCache alloc] initWithMemoryCapacity:cacheSizeMemory diskCapacity:cacheSizeDisk diskPath:@"nsurlcache"] autorelease];
    [NSURLCache setSharedURLCache:sharedCache];
}
上面配置了4MB的内存缓存和32MB磁盘高速缓存。磁盘高速缓存将驻留在默认的iOS缓存目录的子目录所谓的“nsurlcache”里面。

2、然后,我们需要相应内存警告。
- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application {
    [[NSURLCache sharedURLCache] removeAllCachedResponses];
}


总结:运行你会发现,一旦出发内存警告,内存就直接降下来了。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值