launcher3 使用forceReload 刷新界面闪烁

起因

处理桌面快捷方式的时候 LauncherModel中使用forceReload方法会刷新整个workspace导致界面闪烁

解决方法

1.使用广播更新桌面快捷方式。

类似于安装新的apk后添加快捷方式,考虑到位置因素,不可行。

2.刷新桌面单个快捷方式。

workspace中发现updatePackageBadge方法,看名字就是它了。
刷新流程

LauncherModel中接收到广播后调用 updatePackageBadge方法,会最终调用workspace中的 updatePackageBadge方法。

所以只需要在 workspace中拿到快捷方式需要更新的bitmap即可,或者在workspace中对bitmap处理显示,所以需要拿到最初的bitmap进行处理。

最初的bitmap当然是在IconCache中cacheLocked拿到。至此问题解决。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值