iOS性能优化记录

2018-01-19  本文已影响38人  十一岁的加重

1、NSDateFormatter、NSCalendar等
复用(使用C语言中的strptime函数,添加属性或静态变量保持该对象只被初始化一次)
2、imagedNamed和imageWithContentsOfFile
imageNamed默认加载图片成功后会内存中缓存图片
imageWithContentsOfFile则仅只加载图片,不缓存.
确保image和imageView的大小一致、圆角绘制。
3、启动时间优化
减少不必要的framework,动态链接比较耗时;
合并或者删减一些OC类。
异步完成耗时操作(网络,数据读取);
懒加载视图,图片等;
+load()方法仔细分析,尽量延后调用,如放到+initialize。
didFinishLaunching里的方法内优化:
纯代码方式加载首页UI,与UI展示无关的延迟加载
4、无用图片、无用资源(plist、html、ttf、音视频文件等)、无用类、无用方法及代码(AppCode)、无用静态变量
5、卡顿监控:Bugly工具跟踪
6、内存泄漏(循环引用、类似NSTimer等)
7、检查文件的编译耗时
8、重复代码问题
9、无用import文件导入,头文件尽可能用@class去代替import
10、避免庞大XIB,因为它们是在主线程上加载的。
11、tableView reloadData和reloadRows的选择
12、避免创建很多临时对象带来的压力,使用Autorelease Pool。
13、Cocapods管理第三方,注意选取与使用,不要为了一片树叶而引入森林。
13、代码检查: sonar 结合 oclint 自定义规则,代码风格处理: clang-format

上一篇下一篇

猜你喜欢

热点阅读