gpt4 book ai didi

android - 在 Android 的单独线程中访问数据库

转载 作者:行者123 更新时间:2023-11-29 14:09:44 25 4
gpt4 key购买 nike

如何在 Activity 的单独线程(即 AsyncTask)中访问 SQLiteDatabase 数据库并确保始终让它处于合法状态?

如果我理解正确,线程可以随时终止,数据库可能保持打开状态,可能会给出一个 IllegalStateException (SQLiteDatabase稍后创建并且从未关闭)。

你是怎么处理的?

最佳答案

如果你的AsyncTask是由你的Activity管理的,那么Activity可能会在适当的时候取消AsyncTask(当它变得容易被操作系统杀死,例如在 Activity.onPause()) 之后,因此将在您可以关闭数据库的地方调用 AsyncTask.onCancelled()

如果您的 AsyncTask(或 Thread)不是由您的 Activity 管理的,那么您就有麻烦了,应该考虑重新设计您的架构。

关于android - 在 Android 的单独线程中访问数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4269566/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com