亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

【學習打卡】第2天 App 性能優化方案的演進

標簽:
Android

课程名称:Top团队大牛带你玩转Android性能分析与优化
课程章节:App性能概览与平台化实践
主讲老师:随风绽放

课程内容

1. 从项目发展的角度了解 App 性能优化方案的演进

  1. 项目初期,在这个阶段,部门更多的资源是投入在业务逻辑的实现上,只关心崩溃率,不采集性能数据,没有性能检测和优化方案,没有排查问题的手段。
  2. 项目壮大期,在这个阶段,部门资源倾向于业务逻辑的实现和数据统计的指标上,对性能相关指标采集,不够全面深入,这时会接入成熟 APM(Appliation Performance Management),但排查手段单一,线下的检测和优化方案不成型。
  3. 项目成熟期,在这个阶段,部门资源开始关注用户体验,重点关注性能问题,采集的数据变得丰富,优化的手段也多样化,线上、线下有一整套完善解决方案,会为了满足业务需要自建 APM,这样新产品可以快速接入。

对 App 的性能优化一直有这样的误区,由于对真实用户使用场景的模糊,往往投入的关注程度不够。对线上和线下的问题应该采取不同的应对策略,线下问题注重预防,线上问题注重监控,线上和线下对待性能优化问题可采用的方案也不同,对待线上问题的解决方案要考虑兼容性,不能引入新的问题,对待线下问题可以使用一些更加激进的方案,比如 hook 等。

为什么会考虑自建 APM?
成熟的 APM 虽然通用,但通常不能满足项目的个性化需要,外部的 APM 很难与内部的系统打通,即使能够打通带来的时间成本也要高于自建 APM,而且随着项目的发展,一些关键性的、核心的数据必须要掌握在自己手中。

2.业界常用的优秀平台

  • Crash 收集平台:常用的有 Bugly,数据采集、上报成功率高,包含 Java、Native 崩溃。
  • APM 平台,听云为代表,通用的性能解决方案,数据采集完善,方便接入,在项目的发展期考虑接入,不能满足一些个性化的定制需求,因为数据是保存在三方平台,也存在一些安全隐患。

课程收获

清晰地对比了业界常用的平台,在项目在不同的开发阶段所发挥的作用。同时将 App 性能优化这个大的课题进行拆分,在实际工作中也找到了抓手,课程将 App 性能优化拆分为:

  • 启动优化,首先要使用精准地度量,让优化变得可以量化。常用的启动优化包括异步初始化和延迟初始化,普通的异步初始化对 cpu 的利用率并不充分,普通的延迟初始化会导致滑动卡顿。
  • 内存优化,通过对内存抖动和内存泄露的分析,结合使用 aop 和 hook 等手段,检测所有内存使用不合理的地方,重点关注图片的使用。
  • 卡顿优化,结合源码学习自动化卡顿检测及优化,无侵入获取界面的秒开率,找到卡顿监测的盲区,实现对卡顿监测的全面覆盖。
  • 稳定性,交付给用户的 app 尽量做到不崩溃,用户在极端的场景下仍然可以操作 app,介绍多种方式来保证稳定性,实现移动端容灾的具体方案,设计一个稳定性保障平台。
  • 专项治理,比如存储优化、列表页卡顿优化, webview 白屏检测等问题的处理。
  • 单点问题的追查,线上用户反馈的问题往往与具体场景关联,线下很难复现。如何设计性能埋点,尽可能保存问题发生的现场,通过日志回捞采集用户的具体行为日志和问题发生的场景,通过远程命令来采集一些具体的信息。

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
移動開發工程師
手記
粉絲
12
獲贊與收藏
17

關注作者,訂閱最新文章

閱讀免費教程

  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消