scwang90 / SmartRefreshLayout

🔥下拉刷新、上拉加载、二级刷新、淘宝二楼、RefreshLayout、OverScroll,Android智能下拉刷新框架,支持越界回弹、越界拖动,具有极强的扩展性,集成了几十种炫酷的Header和 Footer。
https://segmentfault.com/a/1190000010066071
Apache License 2.0
24.79k stars 4.93k forks source link

MIUI设备滑动异常 #1553

Open Demon-nw opened 6 months ago

Demon-nw commented 6 months ago

java.lang.NoSuchMethodError: No virtual method formatted([Ljava/lang/Object;)Ljava/lang/String; in class Ljava/lang/String; or its super classes (declaration of 'java.lang.String' appears in /apex/com.android.art.compatible/javalib/core-oj.jar) at android.widget.FlingAnimationStubImpl.getOptimizeOfVelocityY(FlingAnimationStubImpl.java:200) at android.widget.OverScroller.fling(OverScroller.java:478) at android.widget.OverScroller.fling(OverScroller.java:444) at androidx.recyclerview.widget.RecyclerView$ViewFlinger.fling(RecyclerView.java:5912) at androidx.recyclerview.widget.RecyclerView.fling(RecyclerView.java:2778) at androidx.recyclerview.widget.RecyclerView.onTouchEvent(RecyclerView.java:3852) at android.view.View.dispatchTouchEvent(View.java:15886) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3201) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2833) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3214) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2851) at com.scwang.smart.refresh.layout.SmartRefreshLayout.dispatchTouchEvent(SmartRefreshLayout.java:932) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3214) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2851) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3214) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2851) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3214) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2851) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3214) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2851) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3214) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2851) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3214) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2851) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3214) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2851) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3214) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2851) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3214) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2851) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3214) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2851) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3214) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2851) at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:563) at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1908) at android.app.Activity.dispatchTouchEvent(Activity.java:4579) at androidx.appcompat.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:70) at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:521) at android.view.View.dispatchPointerEvent(View.java:16169) at com.xiaomi.mirror.MiuiMirrorImpl.isHandled(MiuiMirrorImpl.java:152) at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:7967) at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:7728) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:7096) at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:7153) at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:7119) at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:7284) at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:7127) at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:7341) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:7100) at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:7153) at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:7119) at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:7127) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:7100) at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:10351) at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:10302) at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:10257) at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:10515) at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:306) at android.os.MessageQueue.nativePollOnce(Native Method) at android.os.MessageQueue.next(MessageQueue.java:341) at android.os.Looper.loopOnce(Looper.java:176) at android.os.Looper.loop(Looper.java:314) at android.app.ActivityThread.main(ActivityThread.java:8663) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:565) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1042)

TsuiYC commented 5 months ago

@Demon-nw 我也有这个问题,小米14手机

TsuiYC commented 5 months ago

都是小米的HyperOS

yinshuai0324 commented 5 months ago

HyperOS +1

Demon-nw commented 5 months ago

@Demon-nw 我也有这个问题,小米14手机

已知缓解方法,禁用动画,滑动速度减小😂

FZ985 commented 5 months ago

我也遇到了,有解决办法吗? 禁用动画也不太好使。。。

TsuiYC commented 5 months ago

你们的框架都用的哪个版本的?最新版本有没有这个问题?

Demon-nw commented 5 months ago

你们的框架都用的哪个版本的?最新版本有没有这个问题?

2.1.0

TsuiYC commented 5 months ago

@Demon-nw 感谢,本来还以为是我版本低的问题,现在不用试了

peiniwan commented 5 months ago

怎么解决这个问题呢

merlingood commented 5 months ago

我也遇到了,红米K70,澎湃系统,滑动崩溃。

FZ985 commented 5 months ago

所以你们都解决了没? 是smart的原因还是澎湃os的原因呢, 因为我目前只在一个app上出现过,其他app还没复现过,使用方式都是一样的, 或者给小米那边提issues?

TsuiYC commented 5 months ago

没解决,我这边只有一个版本有崩溃,云真机测试没问题,已知用户红米k50升级澎湃后未发现崩溃。分析是澎湃系统的问题,而且崩溃的那4台设备感觉就不是正常人,崩溃那么多次都不联系客服,也不更新app,感觉就是小米的自动测试在跑(之前有一台小米安装了非常古老的版本,也是同样的情况)

yinshuai0324 commented 5 months ago

不像是smart的原因,因为我测试过,不用smart框架,直接使用RecyclerView滑动也会崩溃。目前暂时没找到解决办法。但很神奇的是,我们自己的另外一个项目在同一个机器上却不会崩溃。apg、targetSdk、compileSdk、smart、recyclerView版本都一致。使用方式也一样,但是就是不会崩溃。

TsuiYC commented 5 months ago

没解决,我这边只有一个版本有崩溃,云真机测试没问题,已知用户红米k50升级澎湃后未发现崩溃。分析是澎湃系统的问题,而且崩溃的那4台设备感觉就不是正常人,崩溃那么多次都不联系客服,也不更新app,感觉就是小米的自动测试在跑(之前有一台小米安装了非常古老的版本,也是同样的情况)

这里说的同样的情况是指经常崩溃无法使用,且不联系客服+不升级,还每天都打开app

yinshuai0324 commented 5 months ago

@TsuiYC 我这边是真实的用户,同事的手机遇到这个问题,应用基本处于无法使用的状态。只有在滑动速度很慢的情况下才勉强能用。楼上说的禁用动画啥的都试过了,问题依旧。

TsuiYC commented 5 months ago

@TsuiYC 我这边是真实的用户,同事的手机遇到这个问题,应用基本处于无法使用的状态。只有在滑动速度很慢的情况下才勉强能用。楼上说的禁用动画啥的都试过了,问题依旧。

机型是23年底新出的米14和红米k70吗?

yinshuai0324 commented 5 months ago

@TsuiYC 我这边是真实的用户,同事的手机遇到这个问题,应用基本处于无法使用的状态。只有在滑动速度很慢的情况下才勉强能用。楼上说的禁用动画啥的都试过了,问题依旧。

机型是23年底新出的米14和红米k70吗?

是的 小米14

TsuiYC commented 5 months ago

@TsuiYC 我这边是真实的用户,同事的手机遇到这个问题,应用基本处于无法使用的状态。只有在滑动速度很慢的情况下才勉强能用。楼上说的禁用动画啥的都试过了,问题依旧。

机型是23年底新出的米14和红米k70吗?

是的 小米14

我这里一直在崩的也是个小米14

FZ985 commented 5 months ago

不像是smart的原因,因为我测试过,不用smart框架,直接使用RecyclerView滑动也会崩溃。目前暂时没找到解决办法。但很神奇的是,我们自己的另外一个项目在同一个机器上却不会崩溃。apg、targetSdk、compileSdk、smart、recyclerView版本都一致。使用方式也一样,但是就是不会崩溃。

对啊,我这边也是,同一个小米手机只有一个app是这样的情况,其他app都正常,所有配置都是一样的,小米13

TsuiYC commented 5 months ago

刚逛了下小米社区,抖音都无法幸免。https://web.vip.miui.com/page/info/mio/mio/detail?postId=44169722&fromPage=mioSingleBoard&fromBoardId=41470867&isRecommend=0&fromPathname=mioSingleBoard&app_version=dev.20051

tianhongyan commented 5 months ago

我把这个问题发到小米社区里去了,大家都催催小米方面 https://web.vip.miui.com/page/info/mio/mio/detail?postId=45133899&app_version=dev.20051

tanranran commented 4 months ago

HyperOS 1.0.23.12.28DEV +1

Demon-nw commented 4 months ago

你们是不是viewpager2里套RecyclerView,如果是的话viewpager适配器使用fragment而不是view似乎可以解决

baby-watch commented 3 months ago

小米14最新版本,这个问题依然没有解决。

Jason-wam commented 3 months ago

我也是HyperOS,遇到了同样的问题,搜索了半天。什么都没修改,就改了下包名就不再出现了,奇怪的问题!

lilinnan commented 1 month ago

抱歉,这是我造成的问题,我在修改这里的时候使用了字符串的 formatted 方法,这是 java 新版本引入的一个方法,但是安卓上可能没有完整的适配,新的 HyperOS 版本上,这个问题已经修复。