gpt4 book ai didi

java - 代号一-如何检查BubbleTransition支持

转载 作者:行者123 更新时间:2023-12-03 17:12:16 26 4
gpt4 key购买 nike

在某些旧设备(4.0.4及更低版本)上的BubbleTransition立即使用UnsupportedOperationException(通过Android Studio查看跟踪)使应用程序崩溃。

堆栈跟踪将我引向了一些图像裁剪方法。

如何检查当前平台是否支持裁剪以避免崩溃?

堆栈跟踪

E/AndroidRuntime: FATAL EXCEPTION: main
java.lang.UnsupportedOperationException
at android.view.GLES20Canvas.clipPath(GLES20Canvas.java:417)
at com.codename1.impl.android.AndroidGraphics.setClipRaw(AndroidGraphics.java:1368)
at com.codename1.impl.android.AndroidAsyncView$AsyncOp.executeWithClip(AndroidAsyncView.java:144)
at com.codename1.impl.android.AndroidAsyncView.dispatchDraw(AndroidAsyncView.java:229)
at android.view.View.getDisplayList(View.java:10519)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:2701)
at android.view.View.getDisplayList(View.java:10484)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:2701)
at android.view.View.getDisplayList(View.java:10484)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:2701)
at android.view.View.getDisplayList(View.java:10484)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:2701)
at android.view.View.getDisplayList(View.java:10484)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:2701)
at android.view.View.getDisplayList(View.java:10484)
at android.view.HardwareRenderer$GlRenderer.draw(HardwareRenderer.java:851)
at android.view.ViewRootImpl.draw(ViewRootImpl.java:1910)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1634)
at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2442)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4441)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
at dalvik.system.NativeStart.main(Native Method)

可能的CN1实施修复

可以通过检查Android API级别来解决,并且低于API 18可以通过以下方式禁用硬件加速
setLayerType(View.LAYER_TYPE_SOFTWARE, null)

该问题与 ICS 设备上的 强制硬件加速有关。
但这与CN1的实现有关,因此我无能为力。

最佳答案

感谢我们修复此问题,以解决2017年2月3日(星期五)的下一个更新。此修复将禁用旧设备的整形裁剪,这将迫使气泡过渡到兼容模式。

采用这种方法的原因是,我们不希望由于缺少一项功能而使整个设备速度变慢,我宁愿避免形状裁剪,也不愿牺牲性能。

关于java - 代号一-如何检查BubbleTransition支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41725305/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com