我有一个在应用程序级别声明和存储的SQLite数据库。我处理设备旋转等配置更改,因此关闭数据库时,我将其设置在MainActivity的onDestroy中,但要放在if(this.isFinishing())内。
问题在于,如果在关闭应用程序后立即尝试再次启动它,它会崩溃并告诉我尝试打开已关闭的数据库。下一次启动时它将正确启动。我想这是因为Android从未真正关闭应用程序,因为没有必要,而且它仍然在后台运行。
我找不到在应用程序级别检测onFinish / onDestroy的方法,以在那里关闭数据库。我唯一的解决办法是不关闭数据库。但是,如果Android真正关闭了我的应用程序,这可能会给我带来问题,当我尝试再次打开它时,不是吗?
有方法强制关闭应用程序吗?(我认为没有) 是否有办法检测应用程序关闭以在那里关闭数据库? 如果Android关闭了将要关闭的应用程序链接的数据库,那么尝试打开未关闭的数据库是否会有问题?
问题在于,如果在关闭应用程序后立即尝试再次启动它,它会崩溃并告诉我尝试打开已关闭的数据库。下一次启动时它将正确启动。我想这是因为Android从未真正关闭应用程序,因为没有必要,而且它仍然在后台运行。
我找不到在应用程序级别检测onFinish / onDestroy的方法,以在那里关闭数据库。我唯一的解决办法是不关闭数据库。但是,如果Android真正关闭了我的应用程序,这可能会给我带来问题,当我尝试再次打开它时,不是吗?
有方法强制关闭应用程序吗?(我认为没有) 是否有办法检测应用程序关闭以在那里关闭数据库? 如果Android关闭了将要关闭的应用程序链接的数据库,那么尝试打开未关闭的数据库是否会有问题?