android – VerifyError,还是在保持兼容性的同时使用overridePendingTransition?

android – VerifyError,还是在保持兼容性的同时使用overridePendingTransition?,第1张

概述我有一个应用程序,它使用overridePendingTransition在从一个活动转换到另一个活动时执行一些自定义动画.这在 Android 2.0中可用,但我想让应用程序在Android 1.6上运行.我想如果我刚检查了android.os.Build.VERSION.SDK_INT> android.os.Build.VERSION_CODES.DONUT,如果没有,请不要执行overri 我有一个应用程序,它使用overrIDePendingTransition在从一个活动转换到另一个活动时执行一些自定义动画.这在 Android 2.0中可用,但我想让应用程序在AndroID 1.6上运行.我想如果我刚检查了androID.os.Build.VERSION.SDK_INT> androID.os.Build.VERSION_CODES.DONUT,如果没有,请不要执行overrIDePendingTransition.

但是,我得到一个VerifyError,我假设是由此引起的:
VFY:无法解析虚方法346:../../ Login:overrIDePendingTransition(II)V

是否无法根据SDK版本有条件地使用更新的功能?

解决方法

Is it not possible to use newer functionality conditionally based on the SDK version?

是的.

我猜你的代码看起来像这样:

if (androID.os.Build.VERSION.SDK_INT > androID.os.Build.VERSION_CODES.DONUT) {  overrIDePendingTransition(...);}

如果我是对的,那就行不通了. VM将在加载类时尝试查找overrIDePendingTransition(),而不是在执行if()语句时.

相反,你应该能够做到这一点:

if (androID.os.Build.VERSION.SDK_INT > androID.os.Build.VERSION_CODES.DONUT) {  SomeClassDedicatedToThisOperation.overrIDePendingTransition(this,...);}

其中SomeClassDedicatedToThisOperation中的overrIDePendingTransition()的实现只是在提供的Activity上调用overrIDePendingTransition().

只要在其他地方没有使用SomeClassDedicatedToThisOperation,只有在if()测试中才会加载它的类,并且你不会得到VerifyError.

总结

以上是内存溢出为你收集整理的android – VerifyError,还是在保持兼容性的同时使用overridePendingTransition?全部内容,希望文章能够帮你解决android – VerifyError,还是在保持兼容性的同时使用overridePendingTransition?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1137409.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存