Activity调用isDestroyed()方法报出,java.lang.NoSuchMethodError
来源:互联网 发布:alpine python 编辑:程序博客网 时间:2024/06/01 20:23
在测试App的过程中,Activity调用了isDestroyed()方法,报出了java.lang.NoSuchMethodError错误。
自己手机MI 2S,版本4.1.1。
其实原因就是isDestroyed()这个方法是在4.2引入的,所以在4.1.1上调用此方法会报错。
需要做一下版本的判断了,Build.VERSION.SDK_INT < 17。
那么问题来了,如何判断某个函数引入的版本呢?从android开发者网站就可以发现,
其实想在源码里面看到,可是源码里面没有说明。
https://developer.android.com/reference/android/app/Activity.html#isDestroyed()
总结:调用方法的时候需要注意几点:
(1)注意此方法引入的API版本号;
(2)最好不要调用@Deprecated标记类和方法之类的,因为第三方可能会删除被@Deprecated标记的源码;
(3)标记@Hide的也最好不要调用,记得初学的时候,蛮多人使用反射的方式获取私有的数据和调用相应的方法,当时觉得还蛮具有研究精神的;
重点:当自己现在站在维护的角度,很多用户在用你的产品,各种不同的手机、型号的出现,导致出现的不同的bug。遵守上述的规则,就显得很有意义了。
附上一些比较好的文章:
精神哥讲Crash(一):UnsatisfiedLinkError
精神哥讲Crash(二): java.lang.NoSuchMethodError
小萝莉说Crash(一):Unrecognized selector sent to instance xxxx
- Activity调用isDestroyed()方法报出,java.lang.NoSuchMethodError
- java.lang.NoSuchMethodError:有这个方法
- 调用android的getColor()方法出现 java.lang.NoSuchMethodError: android.content.res.Resources.getColor
- 调用getColor()方法出现 java.lang.NoSuchMethodError: android.content.res.Resources.getColor()
- java.lang.NoSuchMethodError翻译
- java.lang.NoSuchMethodError
- java.lang.NoSuchMethodError解决方法
- java.lang.NoSuchMethodError: a
- java.lang.NoSuchMethodError问题
- java.lang.NoSuchMethodError:
- java.lang.NoSuchMethodError: main
- java.lang.NoSuchMethodError
- java.lang.NoSuchMethodError......
- java.lang.NoSuchMethodError
- java.lang.NoSuchMethodError
- java.lang.NoSuchMethodError
- java.lang.NoSuchMethodError解决办法,
- java.lang.NoSuchMethodError
- LoadRunner录制脚本,报连接不到服务器的提示信息 :Request Connection: Remote Serve
- ASP.NET-MVC4--Layout母版页面传入数据Model模型
- ThreadLocal理解与使用
- python中进程通信之signal信号
- await/signal/lock实现生产消费者模式
- Activity调用isDestroyed()方法报出,java.lang.NoSuchMethodError
- js获取当前域名、Url、相对路径和参数
- java代码--登录窗口
- 机房收费系统总结之一BOF和EOF
- ThinkPHP3.2 点击看不清刷新验证码
- 对概念性架构设计的理解杂记(优秀)
- view not attached to windows manager与This Toast was not created with Toast.makeText()
- 慎用mysql的join语句和in子查询语句,普通查询可能是最好的优化
- Android Studio如何设置代码自动提示