Activity调用isDestroyed()方法报出,java.lang.NoSuchMethodError
2023-09-11 14:15:00 时间
在測试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
相关文章
- 如何中断JAVA线程
- java实现遍历树形菜单方法——struts.xml实现
- JAVA学习(一):Java介绍及其平台、开发环境的配置与搭建
- Java中Vector类的常用方法
- Java - Eclipse的使用方法和技巧
- Java对存储过程的调用方法
- Java两种方法实现循环报数
- java.lang.OutOfMemoryError: Java heap space 解决方法
- Effective Java -- 对于所有对象都通用的方法
- 【Java】java使用反射访问对象方法和成员变量
- Java Web技术经验总结(一)
- Atitit。Js调用后台语言 java c# php swing android swt的方法大总结
- Atitit.跨平台预定义函数 魔术方法 魔术函数 钩子函数 api兼容性草案 v2 q216 java c# php js.docx
- Atitit.跨平台预定义函数 魔术方法 魔术函数 钩子函数 api兼容性草案 v2 q216 java c# php js.docx
- Atitit.实现继承的原理and方法java javascript .net c# php ...
- paip.批处理清理java项目冗余jar的方法
- paip。java 高级特性 类默认方法,匿名方法+多方法连续调用, 常量类型
- 【项目实战】Java中对Clone克隆(Cloneable接口与clone()方法)的理解
- Java main方法_解释Java中的main方法,及其作用_一个java文件中可包含多个main方法
- [Java 8 HashMap 详解系列]5.HashMap 的 remove() 方法执行原理
- 【Groovy】Groovy 方法调用 ( Java 中函数参数是接口类型 | 函数参数是接口类型 可以 直接传递闭包 )
- 我的Android进阶之旅------>Android编译错误java.util.zip.ZipException: duplicate entry的解决方法
- cocos2d 中使用jni C++ 调用 Java 方法
- 算法 《霍纳的方法java实践》
- JAVA操作Excel表格:方法二:POI的使用②:Excel实战之POI解析读取excel文件(低版本)