Android 13 14 Settings蓝牙列表卡顿问题排查及优化过程

218 阅读1分钟

一.背景

        此问题是蓝牙列表界面息屏后再点击亮屏蓝牙界面卡住,划不动也不能返回,在人多的时候(附近开启的蓝牙设备过多的时候)会卡住大概四五秒才能滑动.

优化前后效果对比: 如下是总共做了两次优化,最终优化效果速度非常快

优化之前 很卡,不能上传视频,无法演示

优化合入后一: 一般卡

优化合入后二: 蓝牙连接极速版_Trim.gif

二.查找耗时点

        根据Android Studio的Profiler工具进行排查,查找主线程时间线比较长的方法,如下:

1737343000756.jpg

1737343017696.jpg 根据工具可以看出ScanningStateChangedHandler的onReceive方法和DeviceListPreferenceFragment的addCachedDevices方法比较耗时,由于写这篇文档是晚上写的,人少,实际白天测试时间比这个多,主要就是这两个方法导致耗时,所以导致主线程卡住,导致界面卡主

三.优化ScanningStateChangedHandler的onReceive方法

后续内容参考:gonglipeng.blog.csdn.net/article/det…