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性能优化记录
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。