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
iOS性能优化记录
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...