客户端性能优化实战经验分享

 

合理的架构设计,对客户端后期优化至关重要

暴风影音播放器一直因为“慢”,而引发用户诸多抱怨。新发布的暴风影音5在启动速度上较暴风影音3提升了3倍。暴风影音播放研发总监黄森堂以暴风影音5的研发为案例,分享了暴风影音在实现“快”客户端过程中的实战经验。

黄森堂表示一款软件往往在发布之初速度很快,但随着后期业务模块的增加,速度会越来越慢。究其原因,是不合理的架构设计限制了后期的优化处理。当时暴风影音3就面临这样的问题。“对架构进行重构:将原有复杂架构下各个模块的复杂关联去掉,保证每个模块的职责单一。”是暴风影音提速所采取的主要措施之一。

皮肤引擎的好坏,决定了客户端的启动速度。优化皮肤引擎,也是本次暴风影音提速任务中的重中之重。黄森堂表示,对于皮肤引擎的优化不外乎四步,即读取优化、加载优化、代码优化及显示优化。在实现读取优化中,暴风影音采用自定义文件存储格式,减少文件读取次数,从而加速读取速度,同时还自定义了压缩格式,以减少文件I/O的读取。对于显示优化,黄森堂认为显示优化的目标是让图片更快速地显示出来,开发者应该抛弃传统图片的显示方法,努力挖掘CPU的潜力,“抛弃传统窗口刷新技术,采用革新的窗口主动刷新技术”是暴风影音5采取的优化措施。

如何把客户端软件做得更快?搜狗研发总监李子拓从网速、渲染、防假死、启动 等多角度介绍了搜狗浏览器“快”背后的技术要点。李子拓建议在启动客户端时,应竭力做好DelayLoad,推迟加载不需要的模块,等用户需要时再加载。最后他强调,不管在任何情况下,一定要优先响应用户的需求,最好把程序需要启动的时间告诉用户,让用户心中有数。

鲜果CEO梁公军从产品的层面,详细讲解了如何快速组建团队及如何快速的发布、推广、迭代产品。

要做到快速发布产品,梁公军表示公司内部首先要有良好的沟通工具,可选confluence或jira,其次就要从事、人、时间三方面做到快速开发,对于架构师要特别注意一点,即先做到,再做好。再者就是对于员工要做到知人善任,每个人责任分工要非常明确。

对于创业团队,在最开始做产品时,不要贪全贪大。梁公军建议如果所做产品还不成熟,可以先只做iOS及主要的Android机型适配,等产品成熟后,再去适配其它机型。否则以后兼容的开发成本会越来越高。

当前移动互联网很热,很多公司纷纷投入到移动潮流中,最终谁将问鼎?梁公军认为这将取决于正确的方向、正确的市场时间、靠谱的领导人和合作伙伴、充足的粮草、快(体现在执行力上)等因素。SOLOMO(Social Local Mobile)才是未来产品的正确方向。

最后,在圆桌论坛中,CSDN&《程序员》杂志总编刘江及三位讲师就客户端的相关技术进行了讨论。对于做客户端的开发人员应该关注哪些技术,鲜果CEO梁公军表示,如果开发者希望向移动领域发展的话,对于C#语言的开发者,可以关注一下Windows Phone 7;C++的开发者,可以关注一下iOS;Java开发者,可以关注一下Android;前端开发人员,可以研究一下HTML5。(文/陈秋歌)

 

读后小结:

客户端性能优化

1)

问题:不合理的架构和各模块的不必要的关联关系,导致随着业务模块的增加,速度越来越慢。

建议方法:对架构进行重构:将原有复杂架构下各个模块的复杂关联去掉,保证每个模块的职责单一。

2)

问题:皮肤引擎的好坏,决定了客户端的启动速度。

建议方法:优化皮肤引擎,从读取优化、加载优化、代码优化及显示优化方面着手。

3)

问题:客户端启动,DelayLoad是关键。

建议方法:推迟加载不需要的模块,等用户需要时再加载。不管在任何情况下,一定要优先响应用户的需求。

4)

问题:从产品的层面,如何速组建团队及如何快速的发布、推广、迭代产品?

建议方法:良好的沟通工具,其次就要从事、人、时间三方面做到快速开发,对于架构师要特别注意一点,即先做到,再做好。再者就是对于员工要做到知人善任,每个人责任分工要非常明确。

5)

问题:针对创业团队,如何快速制胜?

建议方法:不要贪全贪大。还取决于正确的方向、正确的市场时间、靠谱的领导人和合作伙伴、充足的粮草、快(体现在执行力上)等因素。

 

自己针对上面的,可以在程序设计时提醒自己,在日常设计中一点点提升和改进。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值