【编者按】APP的火力全开的互联网时代占据着绝对重要的位置,每一家公司都在其中投入了很大的人力和物力,可随着业务量的增长,愈来愈多的APP无比挑战者技术人的技术造诣,与此同时,APP本身面临的挑战也愈发明显:庞大的用户群体、高频高并发的业务、交易即时性等,最为重要的是性能优化也成为首要去解决的难题。据悉,饿了么移动技术部高级iOS工程师高亮亮将在
SDCC 2017·上海站之互联网应用架构实战峰会
带来题为
《新瓶旧酒——换个角度提升 APP 性能和质量的实践之路》
的分享,更多架构峰会嘉宾和议题请点击
这里
。
以下为专访正文:
【嘉宾】高亮亮,饿了么移动技术部高级iOS工程师,负责饿了么商家版iOS App开发。对iOS架构和系统底层有深入研究,擅长移动性能分析,trouble shooting、iOS逆向等重难点工作。
CSDN:请先和大家介绍下您和目前所从事的工作,以及关注哪些技术领域?
高亮亮:
大家好,我叫高亮亮。郑州大学软件工程专业毕业的持证上岗的软件工程师(开个玩笑),现任饿了么移动技术部移动基础架构组高级iOS工程师。
CSDN:您是什么时候关注移动开发领域的?
高亮亮:
关注移动开发领域相对较晚,大概是从14年左右开始的。在此之前有主要Focus Web 技术,正是这些Web 相关技术和思维方式让我可以在短时间内快速上手移动端开发。
CSDN:移动端的APP有着怎样的特点?
高亮亮:
-
发布周期长,稳定性要求高;
-
网络环境负责,系统和设备碎片化严重;
-
很难建立端到端的监控体系;
-
App安全问题日趋严重;
CSDN:随着移动互联网的发展,我们越发要关注移动页面的性能优化,您觉得为什么要最移动页面进行优化?
高亮亮:
个人简单对App分为三个档次,能用,可用和好用。
-
能用:功能可用,不会出现大量crash;
-
可用:服务稳定,不会大量宕机而造成App不可用;
-
好用:服务稳定,页面流畅,操作简便;
既然定好App级别,那么接下来就可以有的放矢。比如页面性能,现在FPS是多少?期望值是多少?相比测试人员肉眼感觉,我更相信数据。通常在优化前我会拉取当前可以获得的数据,然后根据数据进行分析。然后制定优化目标。
CSDN:该怎么做移动端页面优化呢,有哪些常见的手段?
高亮亮:
首先,也是最重要的一点就是数据,不然就会出现拍脑袋的情况,盲目优化找不到重点。
其次,根据数据找出用户最常使用的页面,每个页面和功能点的跳转率。然后拿出这些页面的渲染时间,和主要API相应市场,针对性的设定目标进行优化。
常见的优化一般分为性能优化,资源优化,稳定性优化三方面,优化方案也可以分为有损和无损两种。
1. 静态代码分析
,Android & iOS 平台的 IDE 自带这样的分析工具,做起来也是非常方便。其它静态代码分析工具如Sonar,Facebook Infer等也非常不错。
Code Inspections 分析示例如下:
Infer 分析结果示例:
2. 通过APM 找出优化点
,如下图是饿了么自研APM监控到的客户端App网络性能图;
CSDN:一个优秀的移动开发者需要哪些工具、技能和素养?
高亮亮:
我也正在朝着成为优秀的移动开发者而努力,至于需要什么我相信大家心里都有答案。
对我而言,工具方面一台MBP和搜索引擎就够了,前者能够在学习&开发环境上提供强有力的保障,后者提供高效的信息获取,快速的成长离不开主动、高效的学习和实践。