性能概念:
1.效率
2.资源占用
3.稳定性
性能的重要性:
1.卡顿
2.没响应
3.崩溃
性能会直接影响到用户体验和留存率的
Demo App性能
- 真机
- 大数据量
FPS监控:tableview/collectionview数据过多时,从数据全部加载改成分批加载数据
-打点
-自定义CADisplayLink 方法,获取刷新时长
-xcode自带工具instruments 中的time profiler
UI卡住
- 将耗时操作添加到异步操作里,最后将值传回到主线程。
图片滚动会频繁掉帧
- 当停止滚动之后再去加载和渲染图片
1.tableview没有在滚动和拖动,并且没有设置图片的时候进行加载图片
2.Scrollview没有在滚动和拖动的时候进行设置图片
缓存
NSCache
-线程安全
-自动删除策略
NSMutableDictionary
-需要自行保证线程安全
收到内存警告时候,需要清除这些缓存
更进一步
- 启动速度
- 电量消耗
- 网络消耗
- 不同网络环境的优化
网友评论