市场上的Android应用程序收到了java.lang.IllegalStateException

时间:2014-05-13 13:38:16

标签: java android illegalstateexception flurry

如何尝试找到此错误的来源?

我收到了来自Flurry的崩溃日志/堆栈跟踪,但它没有向我提供任何关于我的应用程序崩溃源自何处的指示。 (即活动或行号)

我没有遇到过我在本地测试过的任何设备的任何异常,所以我从一开始就有点亏本。

用户尚未通过Google Play报告崩溃,因此我没有Google Stack跟踪。该报告来自A SONY XPERIA Z1和两个独立的SONY C6903 XPERIA LTE。

这个应用程序有大约4000个用户,所以这些用户正在做的事情或者仅在这两个设备上发生这种情况我认为。

哪种类型的错误/错误会导致此类错误?

java.lang.IllegalStateException
android.view.View$1.onClick(View.java:3954)
android.view.View.performClick(View.java:4569)
android.view.View$PerformClick.run(View.java:18553)
android.os.Handler.handleCallback(Handler.java:733)
android.os.Handler.dispatchMessage(Handler.java:95)
android.os.Looper.loop(Looper.java:212)
android.app.ActivityThread.main(ActivityThread.java:5151)
java.lang.reflect.Method.invokeNative(Native Method)
java.lang.reflect.Method.invoke(Method.java:515)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:877)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:693)
dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.reflect.Method.invokeNative(Native Method)
java.lang.reflect.Method.invoke(Method.java:515)
android.view.View$1.onClick(View.java:3949)
android.view.View.performClick(View.java:4569)
android.view.View$PerformClick.run(View.java:18553)
android.os.Handler.handleCallback(Handler.java:733)
android.os.Handler.dispatchMessage(Handler.java:95)
android.os.Looper.loop(Looper.java:212)
android.app.ActivityThread.main(ActivityThread.java:5151)
java.lang.reflect.Method.invokeNative(Native Method)
java.lang.reflect.Method.invoke(Method.java:515)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:877)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:693)
dalvik.system.NativeStart.main(Native Method)

编辑:应用程序中的所有android:onClick事件在Activity Class中都有一个相应的方法,格式如下:

public void methodName(View view) {
}

2 个答案:

答案 0 :(得分:1)

您的UI视图之外是否更改了任何视图?也许管理.onClick或从onClick()本身触发的方法的视图正在访问已更改的视图,但UI线程不知道

答案 1 :(得分:1)

我认为当yout布局中有android:onClick属性引用不存在的Activity方法时会发生这种情况。系统必须使用反射来寻找方法,这可能是危险的。我建议您永远不要在视图中使用此属性,并始终通过代码为您的可点击视图设置View.OnClickListener