移动端性能优化

会议室:一层 5号厅C
出品人:万里鹏

移动端性能问题一直困扰着大家,性能也是用户体验的关键因素。如何打造更好的用户体验... 展开 >

专题出品人:万里鹏

字节跳动Android 平台架构负责人

万里鹏,2017 年加入字节跳动,之前参与并负责移动端性能监控体系的建设,为公司所有移动端产品提供基础监控能力服务。目前就职于今日头条 Android 平台架构部,负责 Android 端性能、稳定性优化,研发流程组建和标准化建设,研发效率优化,架构优化与演进。主要服务于今日头条、同时技术复用在抖音、西瓜视频、番茄小说、多闪等全公司级移动端产品,为提升业务开发效率、架构与开发模式演进、优化用户体验提供整套的技术服务支持。

地点:一层 5号厅C

专题:移动端性能优化

移动端性能问题一直困扰着大家,性能也是用户体验的关键因素。如何打造更好的用户体验,如何追求极致优化、最佳的性能指标,如何在前人经验基础上继续创新,挖掘新的技术点,一直是这个行业的人在追求和探索的目标。本次专题集结了各个行业的案例,希望通过技术专家的分享,让大家能够有性能方面的收获,并且引发这方面的思考和讨论。

by 徐磊

字节跳动
今日头条基础体验优化团队负责人

移动互联网应用的快速迭代,让我们在解决问题同时,也让我们更加注重解决效率,本次议题将从线上监控、合码监控以及开发过程多个阶段,介绍性能优化实践与落地效果。本次分享除了介绍应用层面 ANR 问题分析和监控能力建设之外,也将分享字节内部广泛使用的 ANR 系统优化框架;线下部分将会重点介绍防劣化和归因效率效能闭环体系建设,我们通过自动化归因平台,提升问题前置拦截和定位效率,保障线上质量同时大大提升了人效。相信本次分享交流之后,会对从事和对在线上优化及线下防劣化及工程化建设感兴趣的听众,都有很好的参考借鉴意义。

演进提纲:

1. 线上ANR监控与优化实践

  • 如何应对超级卡顿-ANR,以及分析该类问题遇到的痛点
  • 线上监控方案设计原理介绍与监控工具使用说明
  • 站在系统角度更好解决 ANR 问题- Android 系统双线程调度框架
  • 框架介绍:框架诞生背景,专为旗舰型 App 量身打造,一键接入 ANR 降低 30%
  • 技术实现:调度框架的设计原理和实现,在应用侧重新定义系统调度模式
  • 公司内部产品接入情况,线上收益,及未来展望

2. 性能监控归因平台 Loupe

  • 监控平台诞生背景及框架介绍
  • 框架特点:框架与App完全隔离,无入侵的实时监控和可视化,以及自动归因报警能力
  • 监控能力:介绍平台监控能力,以及如何实时现场捕获,自动归因及报警流程的联动建设
  • 最佳实践:介绍工具日常使用及春节活动期间保障实践
  • 未来规划:监控平台现阶段的不足及未来展望

3. 线下 Mr 精准性能监控建设

  • 性能防劣化的痛点及探索之路
  • 精准监控建设思路及技术方案,前置发现和拦截,提升人效 80% 以上
  • 介绍精准监控在头条等产品的落地场景及日常收益

4. 总结

  • 线上优化演进趋势
  • 线下防劣化方向监控和快速归因、智能归因的展望

听众收益:

  • 面对移动端部分线上问题时,高复用的解决方案
  • 可以参考借鉴和复用线下防劣化及基础建设工程化的思想
  • 更加全面系统了解性能优化体系化的相关实践

by 吴晓龙

美团
技术专家

因为 Flutter 秉持“一套代码、多端运行”的原则,采用 Flutter 开发业务后为团队节省了大量人力,致使我们可以将原来版本迭代节奏提高一倍。Flutter 拥有众多优势,如本身自带 Skia 渲染引擎,同时支持 JIT 和 AOT,尽可能地减少了不同平台之间的差异,同时保持和原生开发一样的高性能。在享受了 Flutter 优点的同时,我们也面临着接入任何一个第三方 SDK 都需要面对的事情,就是会增加包大小,并且不同技术栈也会导致异常,FPS 等指标采集上报与原有方式不同。美团外卖商家侧团队在深入调研后用合理的方式解决了这些困难。开发过程中由于部分页面数据获取耗时、渲染复杂、代码不优等原因,表现出复杂列表页面在加载时间和 FPS 上并未达到理想状况,团队成员从底层渲染原理出发,做了很多方面的优化,积累了一些经验,相信本次交流后,能给从事 Flutter 性能监控及优化感兴趣的听众帯来参考和借鉴。

演讲提纲:

1. Flutter 性能指标采集与监控体系

  • 稳定性指标分类、页面异常率、页面加载时长等指标口径
  • 如何捕获 Flutter 引擎层和嵌入层崩溃
  • 如何采集 Flutter 框架层异常
  • Flutter FPS 最优采集口径及大盘指标

2.  Flutter 在客户端上关键指标优化与实践

  • Flutter 包体积问题分析、瘦身方案设计与技术实现、线上收益及未来展望
  • Flutter 卡顿分析、局部刷新、预构建 Widget、复用、按需加载、错峰加载等优化方式
  • Flutter 秒开率概述、算法原理及预加载、预渲染、数据预取等多策略融合优化
  • 业务实践:外卖商家端商品及 IM 列表性能优化

3. Flutter 动态化

  • 7 月开源计划
  • 插件提醒及调试、开发面板辅助、一键锁包及异常定位
  • Bundle 体积与加密优化:Gzip with Deflater 等
  • Bundle 加载与解析优化:闲时下载、加载策略多样化、懒解析、缓存、混合继承关系线性化

4. 总结

你将获得:

  • 全面系统了解 Flutter 性能优化方案
  • 获得页面秒开监控、治理、巩固等全方位的优化经验
  • FPS 的最优采集口径,以及 FPS 优化
  • 性能优化具体方法:常规优化、动画优化、列表局部刷新、多种优化策略

by 陈旭

贝壳找房
资深工程师

随着贝壳找房在产业互联网领域不断深耕,各项业务都在持续高速发展,业务功能和复杂度不断增长的同时,带来的问题是 App 启动变慢,用户体验变差,如果没有收口处理,开发团队每过一段时间都要花时间进行优化。

贝壳找房 B 端平台以一套代码支撑 7 个 App,以 B 端核心 App 为例,该 App 集成了二手、新房、租赁、装修、直播、培训、IM、VR、IoT 等十几个业务,数百万行代码,近 200 个组件,Native 页面超过 500 个,Flutter 页面超过 350 个,H5 页面超过 900 个,业务和功能多,复杂度高。治理前启动任务超过 20 个,+load 方法超过 200 个,Static Initializer 超过800 个,经过一系列的治理,我们将 App 的冷启动优化到了 1s 内,并且做到了低投入保持优化成果的长期稳定。

本次分享以贝壳 B 端 Link 为例,为大家介绍如何系统地优化冷启动时间,以及在支撑多个业务的情况下,我们探索出的一套能够对性能进行收口统一处理的解决方案。相信经过本次分享和交流,您能更加全面系统地了解 iOS 冷启动优化的方案和实践,并结合自己 App 的实际情况进行落地。

演讲提纲:
1. iOS 冷启动优化概览

  • 启动类型简介
  • 冷启动优化的本质和常见误区
  • 冷启动阶段划分及逐项分析

2.  启动优化性能分析工具

  • 冷启动的测试标准
  • 贝壳自研性能分析工具 BKTimeProfiler 介绍

3. 主要优化方案及实践

  • 框架性优化:最小集、去中心化和生命周期延迟
  • 任务管理:启动器及任务编排
  • +load 延迟和 Static Initializer 治理
  • 动态库懒加载 
  • 二进制重排
  • 无用代码删除:静态检测和动态覆盖率结合
  • 其他优化项介绍 

4. 线上线下流程规范与监控

  • 线下防劣化规范与问题快速定位
  • 线上大盘与子任务性能分析与监控

5. 总结与展望

  • 低成本、高收益方案选择及与业务风险的平衡
  • 自动归因及更加有效的长效机制的建立

你将获得:

  • 全面系统了解 iOS 冷启动优化的方案
  • 减少业务和平台的耦合,低成本保持冷启动的长期优化
  • 获得关于 iOS 冷启动优化分析、治理、监控、巩固等全链路的优化经验

by 蒋宏伟

58同城
资深前端工程师

2016 年,58同城开始引入 React Native,并封装了内部的 58RN 框架。伴随着业务应用场景和用户规模的快速扩大,用户对性能体验的要求也更高了。加载模型从最基础的动态更新模型,迭代成了现在的 PBSPL 模型,包括框架提前初始化、内置通用资源、静默更新、预加载、按需加载。本议题将结合列表、详情和 Tab 页三类不同的场景,给出使用 PBSPL 模型实现页面秒开的具体案例。

演讲提纲:

1. 页面加载耗时诊断

  • 动态更新与页面秒开如何兼得?
  • 框架/JS 执行耗时过长如何减少?
  • 优化前加载耗时瀑布图

2. 58RN 加载模型介绍

  • Web PRPL 模型带来的灵感
  • 58RN PBSPL 模型介绍
  • 优化后加载耗时瀑布图

3. 业务秒开实践

  • 详情页案例:预加载秒开
  • 列表页案例:静默更新秒开
  • Tab 页案例:按需加载

你将获得:

  • 了解兼顾动态更新与加载性能的挑战
  • 了解 58RN 使用的 PBSPL 加载模型
  • 了解三类业务场景下的性能优化方案
  • 了解 RN 如何实现动态 import 按需加载
  • 电话咨询

    联系电话:+86 13269078023
在报名过程中如有任何问题,欢迎微信扫描二维码联系我们的票务经理