OkCredit 是一款面向印度数百万店主及其客户的信用账户管理应用。该应用每月交易量达 1.4 亿次,下载量超过 5000 万,仅去年一年,OkCredit 就记录了 500 亿美元的交易额。
考虑到 OkCredit 运营的规模以及数百万依赖其应用管理账户的企业,OkCredit 必须确保为其所有用户提供流畅无缝的体验,无论他们使用何种设备。
用户会用好评和高评分来奖励表现最佳的应用。一个存在稳定性或性能问题的应用往往会导致用户沮丧,甚至更糟的是,获得差评。因此,如果您旨在取悦用户并为他们提供始终如一的良好用户体验,ANR(应用无响应)是一个重要的性能指标,需要跟踪。
OkCredit 在改进 Android Vitals 方面的投入,例如减少 ANR 和缩短应用启动时间,使他们获得了丰厚的回报,尤其是在资源有限的低端设备上。他们发现客户留存率和应用上的商户交易量都有所提升。
挑战
OkCredit 的一个主要用户群体是低端设备用户。这些设备资源有限,在其上运行繁重的任务很容易造成欠佳的用户体验。例如,一个主要的维护挑战是跟踪和添加 ANR 的检测工具。目标是解决这些问题,旨在改善整体用户体验并增加商户交易量。
他们做了什么?
对于 OkCredit 这样的应用,减少 ANR 并缩短应用启动时间意味着客户满意度提高,更重要的是,应用上的商户交易量增加。
调试 ANR 最重要的线索是找出 ANR 发生时主线程正在做什么。根据 Google 的反馈,OkCredit 制定了一种结构化方法来识别这些 ANR。
- 使用 Android Vitals 监控性能,并使用 Firebase Crashlytics 上的自定义报告来了解 ANR
- 通过将第三方库的初始化从应用启动移至后台线程,优化了其初始化过程
- 使用 Systrace 和 Profiler 等工具识别广播接收器和服务中的 ANR。CI 上的 Macrobenchmark 也帮助基准测试冷启动。
- 使用方法分析器,识别出需要延迟加载的对象。
- 使用 Perfetto,识别出高通胀布局。
- 通过在后台线程中将所有 apply() 更改为 commit(),解决了共享首选项中的 ANR 问题。
通过比较指标或使用 Systrace、CPU Profiler 等工具,对上述任务进行了验证,以确认其影响。
结果
除了改进指标和用户体验外,OkCredit 开发团队还获得了有助于他们改进未来开发流程的见解。

- 在低端设备上:
- ANR 降低 60%
- 低端设备第一天客户留存率提高约 22%
- 每个商户的平均交易量增加 30%
- Play 商店应用评分从 4.3 提高到 4.6
- 冷启动时间缩短约 70%
- 用户点击到任何屏幕第一帧完全绘制的体验提升 60%
这项工作使团队齐心协力,创建了最佳实践,并鼓励他们专注于改善用户体验。团队已开始在开发过程中使用 Perfetto 和 CPU Profiler 等工具,以提高他们对系统的理解并更快地做出决策。
“专注于减少 ANR 帮助我们通过提供愉悦的体验来脱颖而出。这导致了留存率的提高和流失率的降低。此外,由于团队卓越的工程能力,这些实践对组织文化产生了深远的影响。这使我们作为一个团队和公司,在印度新兴的中小企业数字化行业中树立了应用性能的新标杆,我们为此感到自豪。”
– Gaurav Kunwar(OkCredit 联合创始人兼首席产品官)