我有一个小问题,我希望有人可以给我一些见解。
有时,当用户从市场(从一个版本到另一个版本)更新我的应用程序时,他们会在运行应用程序时收到VerifyError。它发生在随机类中;您可以使用该应用程序的一部分,然后转到应用程序中的其他活动会导致它爆炸。这只发生一次;一旦Dalvik将其从系统中解脱出来,它就再也不会发生了。
因为每次更新只会发生一次(大多数情况下,根本不发生),这无疑是一个小问题,但我认为这反映在我的应用程序上,所以如果有人有任何想法会很棒。
堆栈跟踪似乎没有用,因为它们总是发生在不同的地方(这进一步让我困惑)。这是一个例子:
java.lang.VerifyError: com.mypackage.myapp.package.SomeClass
at java.lang.Class.newInstanceImpl(Native Method)
at java.lang.Class.newInstance(Class.java:1472)
at android.app.Instrumentation.newActivity(Instrumentation.java:1097)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2255)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2371)
at android.app.ActivityThread.access$1800(ActivityThread.java:118)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1759)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:4077)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:782)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:540)
at dalvik.system.NativeStart.main(Native Method)
答案 0 :(得分:0)
事实证明我遇到了这个错误:http://code.google.com/p/android/issues/detail?id=2886
问题是如果小部件接收器在应用之前加载,那么在同一进程中访问Google Maps API的任何尝试都将失败。这只发生在Android 1.5中,但每次有人升级应用程序时都会发生这种情况。
解决方案是将接收器放在不同的过程中。