iOS8 缓存很蛋疼的问题

郁闷了一天,翻遍了各种资料的,最后看到某个大侠的帖子的一句话:“最后去AppDelegate里替换掉全局的NSURLCache”,于是结束了黑发人变白发的过程。

本人采用的解决方案是参考:http://code4app.com/ios/UIWebView离线缓存/53c39db6933bf07c388b49c8,此demo在iOS7及以下的运行都很顺利,感动很是欣慰,用iOS8设备一运行,就大所失望。于是搜索各种解决办法,一天下来累的够呛的。最后看到某个大侠的帖子的一句话:“最后去AppDelegate里替换掉全局的NSURLCache”才想到,是不是NSURLCache被释放了,经验证果然是,解决的办法:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    CustomURLCache *urlCache = [[CustomURLCache alloc] initWithMemoryCapacity:20 * 1024 * 1024
                                                                 diskCapacity:200 * 1024 * 1024
                                                                     diskPath:nil
                                                                    cacheTime:0];
    [CustomURLCache setSharedURLCache:urlCache];
}

问题就这样轻松的解决了。

时间: 2024-08-24 16:31:57

iOS8 缓存很蛋疼的问题的相关文章

创建oracle表的时候一个小细节,会导致你处理java类型转换是时候很蛋疼

1.之前在做项目的时候,数据库是用powerdesigner设计的,由于当时设计的时候没注意,int的类型 没给长度 在生成数据库的时候,oracle默认给你生成的类型是BigDecimal这种大类型的.当时还觉得没什么.后台存的时候new一个BigDecimal出来再存就是 可是后来 一位同事在统计数据记录的时候,count(*)统计出来的也是BigDecimal    这时候用hibernate转很麻烦 如果是int类型 那么hibernate转的方式:   int count =((Lon

很蛋疼的ORA-00911:无效的字符错误

今天在建一个DBlink 时出现 ORA-00911:无效的字符错误,语法是 create public database link  tmsdb  connect to user1 identified by  user1useing '(DESCRIPTION =    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.110)(PORT = 1521))    (CONNECT_DATA =      (SERVER = DEDICATED)    

IOS8系统下,APP开发的不同,及碰到的问题收集

如题:IOS8正式版发布后,原来的项目很多,都出现了各种各样的问题. 正如苹果官方所说,IOS8,对于开发者来说会有很大的变化 这里做个收集,目前只碰到几个.记录一下: 1.UITableviewCell 内存不断增加.找了很久原因.后来一步一步的寻下去,发现是以下问题 - (void)layoutSubviews 之前,因为IOS7设置了accessoryView后,contentView回被向前移动.为了让contentView位置不变,所以在该方法中,使用了 [super layoutSu

Varnish缓存机制详细介绍及简单配置

Varnish是一款高性能的开源HTTP加速器,其主要用来做为反向代理中的缓存服务器使用,但其实Varnish本身也是具有反向代理功能的,但在创建连接和维持连接上,与Nginx相比差距很大,现在有一个很流行的架构就是前端用Nginx作为反向代理,后面加Varnish缓存服务器为Web服务加速 在将Varnish前先谈谈我们的浏览器缓存机制,现在的浏览器基本都具有缓存功能,它能将我们以前访问过的静态内容和可进行缓存的动态内容缓存再本地,而后在下次访问相同资源时,如果可以确认Server端的资源未发

C# Azure 分布式缓存Redis的新建与配置

1. 介绍 Redis 是一款开源的,基于 BSD 许可的,高级键值 (key-value) 缓存 (cache) 和存储 (store) 系统.由于 Redis 的键包括 string,hash,list,set,sorted set,bitmap 和 hyperloglog,所以常常被称为数据结构服务器.你可以在这些类型上面运行原子操作,例如,追加字符串,增加哈希中的值,加入一个元素到列表,计算集合的交集.并集和差集,或者是从有序集合中获取最高排名的元素. 为了满足高性能,Redis 采用内

Web缓存基础:术语、HTTP报头和缓存策略

简介 对于您的站点的访问者来说,智能化的内容缓存是提高用户体验最有效的方式之一.缓存,或者对之前的请求的临时存储,是HTTP协议实现中最核心的内容分发策略之一.分发路径中的组件均可以缓存内容来加速后续的请求,这受控于对该内容所声明的缓存策略. 在这份指南中,我们将讨论一些Web内容缓存的基本概念.这主要包括如何选择缓存策略以保证互联网范围内的缓存能够正确的处理您的内容.我们将谈一谈缓存带来的好处.副作用以及不同的策略能带来的性能和灵活性的最大结合. 什么是缓存(caching)? 缓存(cach

Redis 缓存 + Spring 的集成示例(转载)

1. 依赖包安装 pom.xml 加入: <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-redis</artifactId> <version>1.6.0.RELEASE</version> </dependency> <dependency> <groupId>redis

iOS网络缓存扫盲篇--使用两行代码就能完成80%的缓存需求

iOS网络缓存扫盲篇 --使用两行代码就能完成80%的缓存需求 下篇预告:使用80%的代码来完成剩下的20%的缓存需求 .敬请 star (右上角)持续关注. 目录 当我们在谈论缓存的时候,我们在谈论什么? GET网络请求缓存 80%的缓存需求:两行代码就可满足 控制缓存的有效性 文件缓存:借助ETag或Last-Modified判断文件缓存是否有效 Last-Modified ETag 总结 一般数据类型借助 Last-Modified 与 ETag 进行缓存 剩下20%的网络缓存需求--真的

分布式缓存Memcached

   分布式缓存服务器,既然用到数据缓存很明显就是想高效性的获取数据,大容量的存储数据.为了可以缓存大量的数据以及可以高效获取数据,那么分布式缓存数据库就要解决数据可以水平线性扩展,这样可以扩大数据容量,其次是缓存在大并发下本身的性能问题.分布式缓存服务需要做如下考虑,需要水平线性扩展,那么就要有合理的路由算法来解决负载均衡问题,以及提供数据备份,这样某结点服务器done机时,可以启动副本.这样就需要考虑数据一致性问题.分布式缓存的核心技术包括首先是内存本身的管理问题,包括了内存的分配,管理和回