java.lang.NoSuchMethodError:com.xxxxx.xxActivity.isDestroyed
at com.xxxxx.xxActivity.xxxx
.......
手机型号 samsung t03g
android 4.1.1
故障分析 isDestroyed()这个方法是在4.2引入的,所以在4.1.1上调用此方法会报错。
查看源码分析:isDestroyed()
public boolean isDetroyed() added in API level 17
所以在使用这个函数的是会需要做一下判断Build.VERSION.SDK_INT > 17
在使用此类方法的是会需要注意以下几点:
- 判断APILevel的版本;
- 最好不要调用@Deprecated标记类和方法之类的,因为第三方可能会删除被@Deprecated标记的源码;
同样道理,标记@Hide的也最好不要调用。
替代方法
Activity.isFinishing()
注意事项:一个activity在finish时候,还有收到广播,结果导致bug
- 在activity finish时候,这时候handler.sendMessage,导致bug
- 在Activity调用了finish();后立即使用AlertDialog将会报错。