这是一个非常奇怪的问题。我的应用程序一直运行得很好,但如果我离开手机一两个小时而我的应用程序正在运行,当我稍后回来时,我会遇到以下错误:
java.lang.NoClassDefFoundError: yoga.database.Manager
at
yoga.YogaActivity.openDatabase(YogaActivity.java:294)
at
yoga.YogaActivity.initData(YogaActivity.java:275)
at
yoga.YogaActivity.onCreate(YogaActivity.java:102)
at
android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1123)
at
android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2364)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2417)
at android.app.ActivityThread.access$2100(ActivityThread.java:116)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1794)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:4203)
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:791)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:549)
at dalvik.system.NativeStart.main(Native Method)
我知道在应用程序启动时我的yoga.database.Manager类已经被加载,但是当我离开手机后,该类不知何故被系统卸载了。
Android是否会在一定时间后自动卸载类?当我的类被卸载时我该怎么办?
上述错误导致我的应用程序崩溃,但是我可以轻松地重新启动它并且它可以正常运行。
这个问题主要出现在我的HTC Magic手机上,运行Android 1.6。