身为小白的我这个问题困扰我很久.工程写出来以后,模拟器根本不会发现问题所在(貌似电脑内存足够大).当你在真机测试使用的时候你就会发现Cell快速滑动,数据量大(图片数量)的时候app就会被系统Crash. 废话就不多说了,直接说本人解决过程吧.!!!
方向1: 从图片入手
方向2: 工程UITableView优化
方向3: SDWebImage优化
方向1: 从图片入手
很多人都会忽略这个问题 都会往自己的代码工程这个方向去考虑 问题. 其实图片影响非常大. 如果图片质量2M,3M图片你直接放到cell上展示.不用想了 肯定是会卡成狗. 渲染这样的图片肯定需要很大内存. 所以往往你在开发的时候<> 这样你就可以在TableViewCell使用缩略图(展示用),点击图片查看(使用原图). 这样就大大减少了内存的使用.
方向2: 工程UITableView优化
这个普遍大家都会去关注使用的起来差不多!!
1 高度缓存, cell 重用.. (不用说)
2 缓存Cell UI数据 比如高度 减少计算 (Model去缓存,或者使用工具SDAutoLayout)
3 Cell减少重复创建View (懒加载 一般cell局部规格都不一样都是根据数据来适配view 所以你可以先创建好view放进数组 根据图片数组的长度获取view的个数去展示view ) 下面是我用SDAutoLayout代码
方向3: SDWebImage优化
SDWebImage 使用
到这里一般的数据足够使用 但是图片数量大的依旧内存会出现问题 接下就参考网上的一篇博客 完美解决问题
博客地址: http://blog.csdn.net/benyoulai5/articl