Android 应用程序在 WIN DEATH 后崩溃并出现 java.lang.NoClassDefFoundError

标签 android crash android-asynctask

我定义了一个 AsyncTask 并从 MapView 类内部创建了一个实例。一切都很完美,除非 Android 决定终止窗口,然后当我尝试重新打开 Activity 时,应用程序崩溃,并出现 AsyncTask 的 NoClassDefFoundError 错误。我还尝试将 AsyncTask 类设为静态,但没有任何改变。

我已经对其进行了多次测试,并且我非常有信心崩溃是由于之前的 Activity 被终止造成的。

[更新]我没有发布堆栈跟踪,因为我没有看到任何相关内容。我做了更多测试,现在我在日志中看到一些可以作为线索的内容:

I/ActivityManager(  144): Displayed activity com.myorg.myApp/.MyActivity: 4456 ms (total 4456 ms)
I/dalvikvm( 3413): **Rejecting re-init on previously-failed class** Lcom/myorg/myApp/MyMapView$MyAsyncTask; v=0x0
D/AndroidRuntime( 3413): Shutting down VM
W/dalvikvm( 3413): threadid=1: thread exiting with uncaught exception (group=0x400207e8)
E/AndroidRuntime( 3413): FATAL EXCEPTION: main
E/AndroidRuntime( 3413): java.lang.NoClassDefFoundError: com.myorg.myApp.MyMapView$MyAsyncTask
E/AndroidRuntime( 3413):    at com.myorg.myApp.MyMapView$4.run(MyMapView.java:169)
E/AndroidRuntime( 3413):    at android.os.Handler.handleCallback(Handler.java:587)
E/AndroidRuntime( 3413):    at android.os.Handler.dispatchMessage(Handler.java:92)
E/AndroidRuntime( 3413):    at android.os.Looper.loop(Looper.java:123)
E/AndroidRuntime( 3413):    at android.app.ActivityThread.main(ActivityThread.java:4627)
E/AndroidRuntime( 3413):    at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 3413):    at java.lang.reflect.Method.invoke(Method.java:521)
E/AndroidRuntime( 3413):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
E/AndroidRuntime( 3413):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
E/AndroidRuntime( 3413):    at dalvik.system.NativeStart.main(Native Method)

该行:I/dalvikvm(3413):拒绝对先前失败的类进行重新初始化 让我认为它来自之前的错误,但我在日志中没有看到其他堆栈跟踪或报告的错误。

最佳答案

我在 UI Thread 中解决了这个问题

getActivity().runOnUiThread(new Runnable() {

        @Override
        public void run() {
            // TODO Auto-generated method stub
            asynTask = new LoadWebAsynTask();
            asynTask.execute();
        }
    });

关于Android 应用程序在 WIN DEATH 后崩溃并出现 java.lang.NoClassDefFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7270562/

相关文章:

java - 如何将外部SqliteDatabase连接到Android应用程序?

Android:在 drawable xml、layer-list 中,为什么项目的宽度在 API 19 或更低版本中不起作用?

android - 在android中集成条码扫描器的问题

ios - 我收到内存警告并且我的应用程序崩溃了。它会杀死自动释放对象吗?

android - 如何在运行时在异步任务中设置方向锁定

android如何使用自定义 ListView 动态绑定(bind)复选框

crash - 遇到CUDA不可纠正的ECC错误

c++ - 删除QCamera崩溃程序

Android - 多级 Activity 链的问题

Android AsyncTask 和线程