IOS UITableView性能优化
1.关于UITableView性能的优化,很容易就让人想起UITableView的复用,那么除此之外呢?还有么有其他的方法能够优化用户的体验,或者说优化我们的设计的软件呢?
答案是:有!
一般我们在设计一款应用的时候,占用系统资源最多,应该就是图片的加载了吧,的确,一方面图片占用的内存大,而且数量多,通常我们需要开启多个线程去下载这些图片,但是这些图片当中,有些图片用户是并不关心的,如何加载用户喜欢的资源(图片),而不去加载那些用户不感兴趣的资源,就是今天的主题,这个问题的解决方法,其实说出来估计大家都知道,但是向这方面想的人却很少!
这个方法就是:懒加载!
这里我举个例子,比如说我们的QQ列表,我们在打开好友列表时,哗的一下展开几百个好友cell,如果不幸的是你想要找的好友在最下面,那么你接下要做的事就是下拉表视图,带来的直接结果就是,你拉下来的所有表项,好友头像都会加载,用户的角度来说,这些不必要的流量就是一种浪费,而我们通过懒加载方式避免这种浪费,废话少说,看代码
//实现tableView的代理,这个类也会成为scrollView的代理
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{//假如我们使用的时第三方图片加载类库(SDWebImage或者AFNetworking)//我们在视图滚动停止的加载我们需要的图片,着这里我们可以写一个代理,通知方法,或者block都可以,调用图片加载,而在视图滚动没有停止的时候不要去加载图片,查看滚动视图停止时有哪些cell,方法为_tableView.visibleCells,不过通常通过取数组中某个model的p_w_picpathURL来设置图片,而取这个值这是通过下方这个方法NSLog(@"%@",_tableView.indexPathsForVisibleRows);
}
转载于:https://blog.51cto.com/8947509/1607594
IOS UITableView性能优化相关推荐
- UITableView性能优化 - 中级篇
老实说,UITableView性能优化 这个话题,最经常遇到的还是在面试中,常见的回答例如: Cell复用机制 Cell高度预先计算 缓存Cell高度 圆角切割 等等. . . 进阶篇 最近遇到一个需 ...
- UITableView性能优化与卡顿
UITableView性能优化与卡顿问题 最常用的就是cell的重用, 注册重用标识符 如果不重用cell时,每当一个cell显示到屏幕上时,就会重新创建一个新的cell 如果有很多数据的时候,就会堆 ...
- 【原/转】UITableview性能优化总结
UITableView作为ios中使用最频繁的控件之一,其性能优化也是常常要面对的,尤其是当数据量偏大并且设备性能不足时.本文旨在总结tableview的几个性能优化tips,并且随着认识的深入,本文 ...
- iOS app性能优化
instruments 在iOS上进行性能分析的时候,首先考虑借助instruments这个利器分析出问题出在哪,不要凭空想象,不然你可能把精力花在了1%的问题上,最后发现其实啥都没优化,比如要查 ...
- iOS app性能优化的那些事
iPhone上面的应用一直都是以流畅的操作体验而著称,但是由于之前开发人员把注意力更多的放在开发功能上面,比较少去考虑性能的问题,可能这其中涉及到objective-c,c++跟lua,优化起来相对 ...
- iOS之性能优化·优化App界面的渲染与流畅度
一.界面渲染流程 ① 渲染流程分析 计算机中的显示过程通常是通过 CPU.GPU.显示器协同工作来将图片显示到屏幕上,如下图所示: 苹果为了解决图片撕裂的问题使用了 VSync + 双缓冲区的形式,就 ...
- iOS tableView性能优化之异步排版和绘制渲染----YYText框架学习(YYTextAsyncLayer)
YYWebImage源码分析 YYImage源码 YYModel源码解析 前言 这段时间针对设计架构,解耦以及性能优化相关的知识点看了不少,前两者可以看MVVM和AOP编程思路,最后一个是昨天看的,Y ...
- ios 常见性能优化
1. 用ARC管理内存 2. 在正确的地方使用reuseIdentifier 3. 尽可能使Views透明 4. 避免庞大的XIB 5. 不要block主线程 6. 在Image Views中调整图片 ...
- iOS之性能优化·优化App的启动速度
抛砖引玉 启动是 App 给用户的第一印象,启动越慢用户流失的概率就越高,良好的启动速度是用户体验不可缺少的一环. 苹果是一家特别注重用户体验的公司,过去几年一直在优化 App 的启动时间,特别是去年 ...
最新文章
- python基础算法-归并排序
- 阿里云 rds 在windows 里面恢复
- SQL触发器实例讲解1
- Linux驱动之内核加载模块过程分析
- OSI七层模型加协议
- Echange 的发展史
- 10个Python面试常问的问题
- 多线程并发-java内存模型和计算机基础
- java解析魔兽争霸3录像_Java解析魔兽争霸3录像W3G文件(五):Action和APM计算
- python实用案例教程第四章-python 入门到实践第四章案例
- 微信小程序账号注册和APPID申请
- SAP跨公司销售经典场景
- linux常用命令大全,建议收藏
- JSON格式的文件转换对象存入数据库
- 微信页面触发返回按钮回到聊天界面
- __attribute__((section(”name“)))的一些理解
- ROS集成开发环境 --- RoboWare(安装及学习笔记)
- RK3588 AP6398RS3之WIFI调试(一)
- 转载GitHub中Android开源项目及库汇总
- 情绪激动的时候最好不要做决定