解决UITableview里面滑动时重复下载,主线程卡顿问题

在UITablview里面滑动的时候,返回cell的那个方法会不断的被重复调用,致使数据屡次被下载,而且每次下载都须要加载网络数据,耗时太多,卡顿
2个问题:
重复下载:每次滑动,重复调用
卡顿:每次调用都发送网络请求,耗时
 
 
内存缓存:建立一个临时字典用于保存数据,也就是作内存缓存(内存缓存在程序每次启动的时候,都会从新下载
可是沙盒缓存:程序再次启动不须要从新下载
 
  • documents:存放在documents里面文件会被自动备份,咱们下载的文件不可以放在这里,若是放在这里,苹果会拒绝咱们的应用上架
  • tmp:放在这个里面的话,文件可能会随时被删除,也不能够
  • cache:因此通常状况下,咱们须要缓存内容,都须要放在cache里面
 
可使用NeSSearchPathForDirectoriesInDomain 获取到cache的路径
NSCacheDirectories ,
用户搜索区域内NSUserDomianMask ,YES表示:显示全路径
 
 
优化后:(在下载数据以前,先进行判断,若是缓存里面有,直接赋值,若是没有再从新下载,下载以后顺便存在缓存里面)
好处:不会在重复屡次下载
相关文章
相关标签/搜索