压倒程序员的最后一个面试题,iOS性能优化的面试题

2020-09-07  本文已影响0人  iOS弗森科

点赞再看,养成习惯,
欢迎大家关注我面试小专栏 : iOS中高级进阶之路 有我准备的一线大厂面试资料和简历模板,欢迎Star!

这是我前面几天碰到的面试题:
如何对定位和分析项目中影响性能的地方?以及如何进行性能优化?

我的答案:
定位方法:

instruments

在iOS上进行性能分析的时候,首先考虑借助instruments这个利器分析出问题出在哪,不要凭空想象,不然你可能把精力花在了1%的问题上,最后发现其实啥都没优化,比如要查看程序哪些部分最耗时,可以使用Time Profiler,要查看内存是否泄漏了,可以使用Leaks等。关于instruments网上有很多资料,作为一个合格iOS开发者,熟悉这个工具还是很有必要的。

优化建议:

1.用ARC管理内存
2.在正确的地方使用 reuseIdentifier
3.尽量把views设置为完全不透明
4. 避免过于庞大的XIB
5. 不要阻塞主线程
6. 在Image Views中调整图片大小
7. 选择正确的Collection

学会选择对业务场景最合适的类或者对象是写出能效高的代码的基础。当处理collections时这句话尤其正确。
Apple有一个 Collections Programming Topics 的文档详尽介绍了可用的classes间的差别和你该在哪些场景中使用它们。这对于任何使用collections的人来说是一个必读的文档。
呵呵,我就知道你因为太长没看…这是一些常见collection的总结:

8. 打开gzip压缩

感谢支持文章会持续更新!
欢迎大家关注我面试小专栏 :iOS中高级进阶之路有我准备的一线大厂面试资料和简历模板,欢迎Star!

上一篇 下一篇

猜你喜欢

热点阅读