gpt4 book ai didi

android - 禁用硬件加速,向后兼容

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:00:05 30 4
gpt4 key购买 nike

我对 api >=11 中可用的函数 (setLayerType(LAYER_TYPE_NONE, null)) 有疑问,我的代码也应该在 android 1.6(API 级别 4)上运行。我试过像这样使用反射:

try {

Method method = View.class.getMethod("setLayerType", Integer.TYPE, null);
method.invoke(LAYER_TYPE_NONE, null);
view.setLayerType(LAYER_TYPE_NONE, null);
} catch (Throwable e) {
Log.e("_________________test", "Function not found");
}

但我的应用程序在 view.setLayerType 处崩溃并出现 java.lang.VerifyError....

有人知道如何解决此崩溃并在较低级别的 api 中获得与此功能的向后兼容性吗?

谢谢,阿克德

最佳答案

只需删除

view.setLayerType(LAYER_TYPE_NONE, null);

你应该没问题,出于安全原因,Java/Android 在继续之前会首先验证它至少有一次运行给定类的机会,而在较旧的 Android 操作系统上,它不知道如何执行“view. setLayerType(LAYER_TYPE_NONE, null);",它会在该类的任何代码可以运行之前抛出一个硬错误。

既然您已经使用反射运行了代码,那么无论如何您都不需要那行代码。

关于android - 禁用硬件加速,向后兼容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9886772/

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