getActivity / EasyWindow

Android 悬浮窗框架,好用不解释
Apache License 2.0
1.46k stars 163 forks source link

全局悬浮窗拖动卡顿 #36

Closed zs1973 closed 2 years ago

zs1973 commented 2 years ago

【警告:请务必按照 issue 模板填写,不要抱有侥幸心理,一旦发现 issue 没有按照模板认真填写,一律直接关闭】

全局可拖拽的悬浮窗,在应用至后台运行时,拖动悬浮窗之后回弹卡顿。

其他

https://user-images.githubusercontent.com/8916333/202751576-0fb6174f-d4ea-47cb-8992-aba24a99aa9f.mp4

zs1973 commented 2 years ago

直接在你的demo上复现就可以,我这个只是在你demo的基础上多加了一个图片。这样效果比较明显

zs1973 commented 2 years ago

拖动的时候也卡顿

getActivity commented 2 years ago

小伙子,《旧版本无此问题》,你所说的这个旧版本号是多少?

getActivity commented 2 years ago

还有小伙子,我试了一下,如果在桌面,在回弹的时候确实存在轻微卡顿,但是我测试了,在桌面应用、微信、QQ 页面上回弹会出现这种情况,如果在其他应用页面上回弹没有问题,你可以测试一下是不是这样的?

zs1973 commented 2 years ago

小伙子,《旧版本无此问题》,你所说的这个旧版本号是多少?

上个版本

getActivity commented 2 years ago

还有小伙子,我试了一下,如果在桌面,在回弹的时候确实存在轻微卡顿,但是我测试了,在桌面应用、微信、QQ 页面上回弹会出现这种情况,如果在其他应用页面上回弹没有问题,你可以测试一下是不是这样的?

这个问题?小伙子你测试了吗?

zs1973 commented 2 years ago

还有小伙子,我试了一下,如果在桌面,在回弹的时候确实存在轻微卡顿,但是我测试了,在桌面应用、微信、QQ 页面上回弹会出现这种情况,如果在其他应用页面上回弹没有问题,你可以测试一下是不是这样的?

宿主app内不会卡顿,宿主app后台运行之后,在其他地方拖动时就会卡顿了。桌面应用、微信、QQ 页面确实是卡顿比较厉害,其他应用轻微

getActivity commented 2 years ago

小伙子,《旧版本无此问题》,你所说的这个旧版本号是多少?

上个版本

小伙子,你确定 8.5 的版本没有这个问题?我试了好像也有这个问题。

getActivity commented 2 years ago

小伙子,我排查了一下,这个问题的原因是,如果在桌面应用、微信、QQ 上面动画回弹,ValueAnimator 会回调 62 次 onAnimationUpdate 方法,而在当前应用上面操作,仅会回调 32 次,而我看了一下 ValueAnimator 回调机制,它会等屏幕刷新信号到来后进行回调动画更新的方法,很可能在某些应用上面系统会自动开启高刷模式,这个是框架无法判断和干预的,我这边测试将动画时间从 500 毫秒改成 250 秒就不会出现那个问题了,由此验证是回弹距离太短,但是动画回调次数变多了,导致每次悬浮球移动的距离就会变小,所以可能就会感觉到一种卡顿的现象,但其实这不是卡顿,而是每次动画执行时,滑动的距离太短导致的一种错觉,框架这边的解决方法是,通过悬浮球回弹的距离计算出动画的时间。

getActivity commented 2 years ago

XToast-8.8.aar.zip

getActivity commented 2 years ago

@zs1973 小伙子,问题已经处理了,你可以下载上面的 aar 包进行测试。

zs1973 commented 2 years ago

@zs1973 小伙子,问题已经处理了,你可以下载上面的 aar 包进行测试。

收到 一会我测试一下

zs1973 commented 2 years ago

@zs1973 小伙子,问题已经处理了,你可以下载上面的 aar 包进行测试。

可以了 谢谢