Android onDestroy错误

Android onDestroy错误,android,listview,ondestroy,Android,Listview,Ondestroy,在我的应用程序中,我有一个活动,我在其中调用onDestroy,其中包含以下内容: @Override public void onDestroy() { productAdapter.imageLoader.stopThread(); lvProducts.setAdapter(null); super.onDestroy(); } 03-22 09:15:17.684: ERROR/AndroidRuntime(28442): FATAL EXCEPTION: m

在我的应用程序中,我有一个活动,我在其中调用onDestroy,其中包含以下内容:

@Override
public void onDestroy()
{
    productAdapter.imageLoader.stopThread();

    lvProducts.setAdapter(null);
    super.onDestroy();
}
03-22 09:15:17.684: ERROR/AndroidRuntime(28442): FATAL EXCEPTION: main
03-22 09:15:17.684: ERROR/AndroidRuntime(28442): java.lang.RuntimeException: Unable to destroy activity {com.MyApp/com.MyApp.Products}: java.lang.NullPointerException
03-22 09:15:17.684: ERROR/AndroidRuntime(28442):     at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:3081)
03-22 09:15:17.684: ERROR/AndroidRuntime(28442):     at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:3146)
03-22 09:15:17.684: ERROR/AndroidRuntime(28442):     at android.app.ActivityThread.access$2100(ActivityThread.java:132)
03-22 09:15:17.684: ERROR/AndroidRuntime(28442):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1071)
03-22 09:15:17.684: ERROR/AndroidRuntime(28442):     at android.os.Handler.dispatchMessage(Handler.java:99)
03-22 09:15:17.684: ERROR/AndroidRuntime(28442):     at android.os.Looper.loop(Looper.java:150)
03-22 09:15:17.684: ERROR/AndroidRuntime(28442):     at android.app.ActivityThread.main(ActivityThread.java:4263)
03-22 09:15:17.684: ERROR/AndroidRuntime(28442):     at java.lang.reflect.Method.invokeNative(Native Method)
03-22 09:15:17.684: ERROR/AndroidRuntime(28442):     at java.lang.reflect.Method.invoke(Method.java:507)
03-22 09:15:17.684: ERROR/AndroidRuntime(28442):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
03-22 09:15:17.684: ERROR/AndroidRuntime(28442):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
03-22 09:15:17.684: ERROR/AndroidRuntime(28442):     at dalvik.system.NativeStart.main(Native Method)
03-22 09:15:17.684: ERROR/AndroidRuntime(28442): Caused by: java.lang.NullPointerException
03-22 09:15:17.684: ERROR/AndroidRuntime(28442):     at com.MyApp.Productss.onDestroy(DailyDeals.java:678)
03-22 09:15:17.684: ERROR/AndroidRuntime(28442):     at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:3063)
productAdapter是我的ListView适配器,我正在使用fedorvlasov延迟加载功能

问题是,当我离开应用程序很长一段时间后回来时,我尝试从主活动访问此活动,我得到以下信息:

@Override
public void onDestroy()
{
    productAdapter.imageLoader.stopThread();

    lvProducts.setAdapter(null);
    super.onDestroy();
}
03-22 09:15:17.684: ERROR/AndroidRuntime(28442): FATAL EXCEPTION: main
03-22 09:15:17.684: ERROR/AndroidRuntime(28442): java.lang.RuntimeException: Unable to destroy activity {com.MyApp/com.MyApp.Products}: java.lang.NullPointerException
03-22 09:15:17.684: ERROR/AndroidRuntime(28442):     at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:3081)
03-22 09:15:17.684: ERROR/AndroidRuntime(28442):     at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:3146)
03-22 09:15:17.684: ERROR/AndroidRuntime(28442):     at android.app.ActivityThread.access$2100(ActivityThread.java:132)
03-22 09:15:17.684: ERROR/AndroidRuntime(28442):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1071)
03-22 09:15:17.684: ERROR/AndroidRuntime(28442):     at android.os.Handler.dispatchMessage(Handler.java:99)
03-22 09:15:17.684: ERROR/AndroidRuntime(28442):     at android.os.Looper.loop(Looper.java:150)
03-22 09:15:17.684: ERROR/AndroidRuntime(28442):     at android.app.ActivityThread.main(ActivityThread.java:4263)
03-22 09:15:17.684: ERROR/AndroidRuntime(28442):     at java.lang.reflect.Method.invokeNative(Native Method)
03-22 09:15:17.684: ERROR/AndroidRuntime(28442):     at java.lang.reflect.Method.invoke(Method.java:507)
03-22 09:15:17.684: ERROR/AndroidRuntime(28442):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
03-22 09:15:17.684: ERROR/AndroidRuntime(28442):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
03-22 09:15:17.684: ERROR/AndroidRuntime(28442):     at dalvik.system.NativeStart.main(Native Method)
03-22 09:15:17.684: ERROR/AndroidRuntime(28442): Caused by: java.lang.NullPointerException
03-22 09:15:17.684: ERROR/AndroidRuntime(28442):     at com.MyApp.Productss.onDestroy(DailyDeals.java:678)
03-22 09:15:17.684: ERROR/AndroidRuntime(28442):     at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:3063)

问题是,我不知道如何重现这一点,因为只有当我离开应用程序很长一段时间后再回来时,才会发生这种情况。这几乎就像Android超时一样,在这么多小时后,会导致应用程序重新启动。

系统会在应用程序需要用于其他用途的资源时终止应用程序。这就是为什么当你在很长一段时间后回来时,它不再运行

你为什么有这条线

lvProducts.setAdapter(null);
我想这就是给你一个空指针的原因。您不希望尝试使用空适配器设置它。尝试删除此行


还要确定的是,哪一行是678?

很可能您的一个对象已经被丢弃了。请尝试检查productAdapter、lvProductsPaste、DailyDeals.java中的代码行和第678行的null。fedor lazylist示例让您在onDestroy中执行以下操作:adapter.imageLoader.stopThread();list.setAdapter(空);但为什么在我输入activity时它甚至调用onDestroy.678是productAdapter.imageLoader.stopThread();我可以先检查null productAdapter和null imageLoader,但我如何才能强制应用程序复制它?我不知道。你能把你工作的例子联系起来吗?