当我运行应用程序时,每次我在logcat中收到以下异常:
04-14 09:29:53.965: W/dalvikvm(1020): threadid=1: thread exiting with uncaught exception (group=0x409c01f8) 04-14 09:29:53.985: E/AndroidRuntime(1020): FATAL EXCEPTION: main 04-14 09:29:53.985: E/AndroidRuntime(1020): java.lang.RuntimeException: Unable to instantiate application android.app.Application: java.lang.NullPointerException 04-14 09:29:53.985: E/AndroidRuntime(1020): at android.app.LoadedApk.makeApplication(LoadedApk.java:482) 04-14 09:29:53.985: E/AndroidRuntime(1020): at android.app.ActivityThread.handleBindApplication(ActivityThread.java:3938) 04-14 09:29:53.985: E/AndroidRuntime(1020): at android.app.ActivityThread.access$1300(ActivityThread.java:123) 04-14 09:29:53.985: E/AndroidRuntime(1020): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1185) 04-14 09:29:53.985: E/AndroidRuntime(1020): at android.os.Handler.dispatchMessage(Handler.java:99) 04-14 09:29:53.985: E/AndroidRuntime(1020): at android.os.Looper.loop(Looper.java:137) 04-14 09:29:53.985: E/AndroidRuntime(1020): at android.app.ActivityThread.main(ActivityThread.java:4424) 04-14 09:29:53.985: E/AndroidRuntime(1020): at java.lang.reflect.Method.invokeNative(Native Method) 04-14 09:29:53.985: E/AndroidRuntime(1020): at java.lang.reflect.Method.invoke(Method.java:511) 04-14 09:29:53.985: E/AndroidRuntime(1020): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 04-14 09:29:53.985: E/AndroidRuntime(1020): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 04-14 09:29:53.985: E/AndroidRuntime(1020): at dalvik.system.NativeStart.main(Native Method) 04-14 09:29:53.985: E/AndroidRuntime(1020): Caused by: java.lang.NullPointerException 04-14 09:29:53.985: E/AndroidRuntime(1020): at android.app.LoadedApk.initializeJavaContextClassLoader(LoadedApk.java:362) 04-14 09:29:53.985: E/AndroidRuntime(1020): at android.app.LoadedApk.getClassLoader(LoadedApk.java:305) 04-14 09:29:53.985: E/AndroidRuntime(1020): at android.app.LoadedApk.makeApplication(LoadedApk.java:474) 04-14 09:29:53.985: E/AndroidRuntime(1020): ... 11 more
注意:当我从仿真器中卸载应用程序并运行它时,我没有收到此异常,但是当我在仿真器中重新运行已安装的应用程序时,却收到了此异常。请帮忙。
当dalvik重新安装.apk文件并尝试重用或回收来自同一软件包的先前打开的活动/视图时(如果您尚未关闭先前安装的应用程序),这是底层框架引起的详细错误消息。而且,它与您的应用程序无关,而且,由于最终用户设备上的此详细错误消息,您的应用程序极不可能被冻结或崩溃。
看来dalvik冗长的错误日志仅在Android 4.0系统上发生过,我已经在Android 3.2和2.3.3运行环境中进行了自我测试,您无法在该环境下进行复制以使此消息均未显示在它们上。类似的问题已经在之前讨论了这里,有人填补了一个错误报告的Android的问题跟踪。
我认为您目前不应该过多关注此错误日志,如果您在Logcat中出现此红色错误之前和之后都查看更多日志,则可以查看全文,并发现先前打开的活动/视图(其中被标记为死亡状态)被杀死,新弹出的新安装的最终被弹出。