我有一个应用程序似乎正在为某些(所有?)SCH-I800设备生成StackOverflow例外。
Stacktrace是:
java.lang.StackOverflowError
at java.lang.Class.newInstanceImpl(Native Method)
at java.lang.Class.newInstance(Class.java:1409)
at android.app.ActivityThread.handleCreateService(ActivityThread.java:1930)
at android.app.ActivityThread.access$2500(ActivityThread.java:117)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:989)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3687)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:842)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
at dalvik.system.NativeStart.main(Native Method)
正如您所看到的那样,我自己的应用程序中没有一行。所以我不确定从哪里开始挖掘。它肯定会在几台SCH-I800设备上崩溃。它们主要是Android 2.3.5,但至少有一个是2.3.6。
它会破坏每个设备的多个时间。
答案 0 :(得分:1)
所以我不确定从哪里开始挖掘。
好吧,堆栈跟踪表明在创建服务时会发生这种情况:
at android.app.ActivityThread.handleCreateService(ActivityThread.java:1930)
查看该方法的源代码,导致此堆栈跟踪的最可能情况是服务的构造函数中存在问题。考虑到你的问题的性质,我假设你的代码正在其他设备上工作,所以在服务构建阶段有一些东西正在绊倒SCH-I800固件中的一个错误。