iOS开发 性能优化

1.降低app包大小

  • 利用 AppCode 检测未使用的代码:菜单栏 -> Code -> Inspect Code
  • 无损压缩项目中的图片资源,删除无用资源图片
  • 编译器优化项目优化(编译器优化级别、去除符号信息)
  • 去掉舍弃架构armv7

参考链接

2.如何优化UITableview

  • 正确的复用cell
  • 尽量避免使用透明色
  • 动态计算并缓存行高,避免重新布局
  • 加载网络数据,使用异步加载,缓存请求结果
  • 滑动很快时,按需加载范围内的cell
  • 刷新使用reloadSection
  • cell中的控件尽量少,避免动态的添加视图
  • 不要做多余的绘制工作
  • 尽量少用xib

3.什么情况下会导致内存泄漏

  • NSTimer :self 持有 timer,timer 在初始化时持有 self,造成循环引用。 解决的方法就是,在dealloc方法以外,使用 invalidate 方法销掉 timer。
  • block : block中使用self时,会导致self,block的互相持有,无法释放。__weak修饰
  • 代理使用Strong修饰也会导致
  • 通知及kvo没有移除监听也会导致内存泄漏
  • OC中直接运用C语言 (静态分析analyze)

4.检测内存泄漏

参考文章

你可能感兴趣的:(iOS开发 性能优化)