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.检测内存泄漏

参考文章

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容