我遇到了一个小问题,希望有人能给我一些启示。
有时,当用户从市场上更新我的应用程序(从一个版本到另一个版本)时,他们在运行该应用程序时会收到一个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)
Run Code Online (Sandbox Code Playgroud)
事实证明我遇到了这个错误:http://code.google.com/p/android/issues/detail ?id=2886
问题是,如果小部件接收器在应用程序之前加载,则在同一进程中访问 Google Maps API 的任何尝试都会失败。这种情况只发生在 Android 1.5 中,但每次有人升级应用程序时都会发生这种情况。
解决方案是将接收器置于不同的进程中。
| 归档时间: |
|
| 查看次数: |
469 次 |
| 最近记录: |