美文网首页
聊聊 iOS 的性能提升(中文版)

聊聊 iOS 的性能提升(中文版)

作者: BoxDeng | 来源:发表于2018-04-26 13:43 被阅读0次

    为什么要优化 iOS 的性能?

    当然是为了更好的用户体验


    做性能优化挺麻烦的:

    • 有风险

    程序能跑,就不要动

    • 费时间

    业务时间很紧张的, “重构” 时间也很紧张

    • 做优化,本来就很复杂

    大脑一片空白。一般人搞不定

    • 代码优化,哪里比得上硬件的性能大幅度提升

    硬件不值钱,工程师的时间很烧钱


    这些年,苹果硬件确实是提升显著

    2013

    2013年,带着 A7 芯片的 iPhone 5s 发布时,iPhone 5s 性能远超原型机,CPU 处理上快40倍,图像处理上快56倍。

    资料链接: Mac 文化 网站

    2016年, iPhone 7 发布,性能提升到了120倍。

    2017

    具体性能方面,A11 BIONIC号称其两颗性能核心就比前代的A10整体快了25%;四颗效率核心更是比A10提升了70%。整体的CPU性能比A10提升了70%。

    资料链接:揭秘iPhone X背后的

    硬件提升显著

    2017年的果机,性能较2007年的,提升了200倍。

    但是

    • 增强现实功能, AR , 非常耗电

    • 240 fps 1080p 的 Slo-mo 慢动作、慢镜头,也是电量杀手

    • 还有 iPhone X 的动话表情(Animoji)

    ...

    并不是每个人的 iPhone 都是最新款,有 A11 这种高级芯片。

    屏幕快照 2018-04-26 下午2.45.33.png

    资料链接:iPhone 设备市场


    所以呢, 提高 app 的性能,一般从三个方向着手:

    • 没有闪退
      包括应用不会被系统的守护进程 watchdog ,干掉。
      其中一种情况就是,app 使用的内存过多,就被系统 kill 了.

    • 交互流畅

    • 省电


    测量 app 的性能, 敢问路在何方?

    拍脑袋,一般没有什么建设性。

    通过使用工具测量 app 的性能,才知道要不要改进,改哪里。

    改进。
    再测量,看看改的怎么样。


    测量的工具和方法,一般有

    • NSLog / print 方法
    • 调试神器 Instruments
    • XCTest 框架下的 measure( ) 方法
      (写过单元测试的同学,都了解 )

    辛苦啦

    本文是 CocoaHeads Shanghai 第35期,sente.ch 公司的开发者 Marco Scheurer 演讲的简单整理

    资料见 GitHub 链接

    相关文章

      网友评论

          本文标题:聊聊 iOS 的性能提升(中文版)

          本文链接:https://www.haomeiwen.com/subject/lahvmxtx.html