相关疑难解决方法(0)

按下"后退"按钮时如何终止活动?

我有一个活动,当它启动时,它从互联网加载图像.为了节省内存,当按下后退按钮留下Activity时,我希望活动转储所有数据,即删除其中的所有字符串和图像.我认为最好的方法是杀死活动.

好吧,我似乎无法弄清楚按下后退按钮时的回调.所以,我一直在尝试使用onPause()onStop()回调来完成任务,但两种方式强制关闭我的应用程序.这是代码:

public void onPause() {
    this.finish();
}
public void onStop() {
    finish();
}
Run Code Online (Sandbox Code Playgroud)

我尝试过多种变体,但似乎都没有.有任何想法吗?

android kill button back android-activity

31
推荐指数
5
解决办法
13万
查看次数

Android:java.lang.IllegalStateException:数据库xxx.db(conn#0)已经关闭

我已经阅读了很多关于此错误消息的主题,但我无法解决我的问题.

我有一个关于谷歌播放的应用程序,我收到了一些用户的错误报告.当我尝试应用程序时,一切正常.

在应用程序中,我正在管理一个包含30个表的大型数据库.我在主活动onDestroy()中关闭数据库,并且在查询完成时关闭所有游标.

我真的不知道为什么用户会不时收到此错误消息.

这是整个错误日志:

java.lang.IllegalStateException: database /data/data/mdpi.android/databases/LocalDatabase.db (conn# 0) already closed
at android.database.sqlite.SQLiteDatabase.verifyDbIsOpen(SQLiteDatabase.java:2213)
at android.database.sqlite.SQLiteDatabase.queryWithFactory(SQLiteDatabase.java:1565)
at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1525)
at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1605)
at mdpi.android.database.LocalDatabase.getHistoryLastSuccessfullUpdate(LocalDatabase.java:661)
at mdpi.android.Journals$7.onItemClick(Journals.java:723)
at android.widget.AdapterView.performItemClick(AdapterView.java:292)
at android.widget.Gallery.onSingleTapUp(Gallery.java:960)
at android.view.GestureDetector.onTouchEvent(GestureDetector.java:1310)
at android.widget.Gallery.onTouchEvent(Gallery.java:937)
at android.view.View.dispatchTouchEvent(View.java:5724)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1964)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1725)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1970)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1739)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1970)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1739)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1970)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1739)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1970)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1739)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1970)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1739)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1970)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1739)
at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2071)
at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1405)
at android.app.Activity.dispatchTouchEvent(Activity.java:2426)
at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:2019)
at android.view.View.dispatchPointerEvent(View.java:5904)
at android.view.ViewRootImpl.deliverPointerEvent(ViewRootImpl.java:3155)
at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2670)
at android.view.ViewRootImpl.processInputEvents(ViewRootImpl.java:1000)
at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2679) …
Run Code Online (Sandbox Code Playgroud)

database sqlite android illegalstateexception

6
推荐指数
1
解决办法
5463
查看次数