写点什么

Lyft 如何检测生产中安卓的内存泄漏

  • 2023-03-22
    北京
  • 本文字数:849 字

    阅读完需:约 3 分钟

Lyft如何检测生产中安卓的内存泄漏

尽管现代的安卓和 iOS 工具都能通过本地构建检测内存泄露风险,但应用程序在生产环境中的内存表现却依旧得不到百分百的保障。生产环境中的程序可能在各种条件下运行在各种设备上,为此,Lyft的工程师将A/B测试与内存可观察性相结合,从而检测可能造成内存泄漏的应用功能。


在发布大型且复杂的功能点时,我们需要特别关注其在内存使用方面是否会造成回归。这点在包含本地 C/C++代码的功能发布时更为关键,因为这部分代码更易于引入内存泄漏。


在一般情况下,Lyft 工程师所遵循的方式是用测量的应用程序的标准内存行为基线,对比在 A/B 测试中所采集的特定功能受众子群数据。在评估应用的整体内存使用上,Lyft 工程师考虑了几款安卓上可用来检索内存使用指标的API:比例集大小(PSS)、唯一集大小(USS)、常驻内存大小(RSS)。其中 RSS 因其在性能方面的特点,以及可以不受采样率限制的特性而脱颖而出。其他 Lyft 工程师们感兴趣的指标,如 JVM 堆和本地堆大小等,都支持在安卓运行时直接采集。


内存指标的重要采集场景有两种:每次 UI 界面关闭时,以及用户在同一界面长时间停留的情况下每分钟的采集间隔。


因此,为判断一项功能是否会造成内存回归,Lyft 工程师对比了用户群组在运行禁用该功能时的原始版本,与启用该功能应用版本的情况。内存使用情况随用户而异,故而将应用内存使用足迹以曲线形式显示,如果两种情况下内存足迹曲线出现,则表示可能存在内存回归情况,如下图表示:



一个有趣的发现是,内存泄漏只影响一小部分用户。因此,除了百分比较高的部分(取决于用户群组大小),内存足迹曲线实际是会几乎重合的。如下图中所示,内存泄漏只会发生在极特殊的情况下,仅影响用户群组的最后一段百分比。



Lyft 的工程师称,这种方式已被证明可以有效检测内存泄漏,尤其是特殊情况下极易在本地测试时遗漏的内存泄露。还请不要错过 Lyft 原文中的全部细节。


原文链接

How Lyft Detects Android Memory Leaks in Production


相关阅读:

探索 Android 14:首个开发者预览版的新功能与特性

Spotify 移动工程平台迁移:将 Android 和 iOS 代码库迁移到 Bazel

2023-03-22 08:007522

评论

发布
暂无评论
发现更多内容

女生通过java编程学习好找工作吗?

小谷哥

什么是3D可视化,为什么要使用3D可视化

3DCAT实时渲染

Unity 3D渲染 3D可视化

2022“易观之星”奖项公布,聚焦数字经济,助力数智创新

易观分析

金融 易观 颁奖

不止于大,华为云对象存储服务OBS的全能一面

清欢科技

华为云OBS对象存储:企业“上云”的好帮手

清欢科技

华为云CDN提升网站响应速度,让下载快人一步

路过的憨憨

什么是云仿真,云仿真平台有哪些好处

3DCAT实时渲染

虚拟仿真 实时云渲染 云仿真 三维仿真

阿根廷夺冠梅西加冕,球场外视频平台角逐世界杯

易观分析

视频 足球 卡塔尔世界杯

HTTP的四种认证方式

穿过生命散发芬芳

HTTP 12月月更

大数据培训学习有前途吗?

小谷哥

阿里云弹性预测 AHPA:助力厨芯科技降本增效

阿里巴巴云原生

阿里云 云原生 弹性预测

架构中实时引擎与离线渲染的主要优势

3DCAT实时渲染

Unity 渲染 实时渲染 AEC

即时通讯软件WorkPlus助力政企应用快速移动化

BeeWorks

存储数据如何更省钱?华为云告诉你!

清欢科技

海量、安全、高可靠的华为云对象存储服务OBS,助力企业数据存储降本提效

清欢科技

备受企业青睐的华为云CDN优势到底在哪?

路过的憨憨

大数据一站式服务,华为云大数据BI驱动企业业务线增长

秃头也爱科技

企业内部使用的即时通讯软件有哪些?

BeeWorks

云渲染和自己的电脑渲染哪个好?

Renderbus瑞云渲染农场

云渲染

中国电信发布《天翼云安全白皮书》 打造高质量云网安全保障体系

Geek_2d6073

FL STUDIO2023最新版本号21新变化

茶色酒

FL STUDIO20.9 FL Studio FL Studio 21

还在为数据存储而烦恼?不妨进来看看华为云对象存储服务OBS

清欢科技

【冲破信息孤岛】华为云大数据BI,助力金融行业进行数字化转型

秃头也爱科技

【从零开始学爬虫】采集全国历史天气数据

前嗅大数据

数据采集 爬虫软件 爬虫教程 爬虫入门 爬虫入门教程

既要速度与激情,也要稳定和安全,华为云CDN让你速度和安全兼得

路过的憨憨

RayLink测评 | 完全免费,功能超越同类付费远程控制软件!!

RayLink远程工具

远程控制软件 远程办公软件 远控软件

华为云CDN加速服务,引领企业数字化发展潮流!

路过的憨憨

敏捷技术实践之重构

华为云PaaS服务小智

软硬协同造就极致性能 天翼云紫金DPU打造为云而生的全新一代云计算体系结构

Geek_2d6073

BI-数据可视化 | 年度干货合集

搞大屏的小北

数据可视化工具 BI 分析工具 BI分析 市场分析

华为云CDN,助力安全企业下载服务,更好提升用户体验

路过的憨憨

Lyft如何检测生产中安卓的内存泄漏_移动_Sergio De Simone_InfoQ精选文章