android - 关还是不关?

标签 android sqlite cursor

<分区>

最近几天,由于我的应用程序中的数据库泄漏,我经常收到很多错误消息,所以现在我打开数据库,从中获取查询结果,然后再次关闭数据库。

但我还为我的自动完成 TextView 使用了一个 cursoradapter。

我是否也应该那样做:打开数据库,获取光标,关闭数据库?!

我的意思是,我没有因为不这样做而遇到任何问题,但是......

所以我需要专家的提示,你的提示

最佳答案

您应该能够在 onCreate 方法中打开数据库并在 onDestroy 方法中关闭它。这将保证只要 Activity 处于“Activity ”状态,它就可用,并且最终会被清除。

此外,您可能应该在与适配器一起使用的光标上使用“startManagingCursor”。这将确保它在暂停、恢复和销毁时分别根据需要停用、重新查询和关闭。适配器中未使用的游标应在您完成从它们获取数据后立即关闭。

如果你遵守这些规则,就不会有泄漏。

关于android - 关还是不关?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3890857/

相关文章:

java - android.database.sqlite.SQLiteException : no such column: favorite1 (code 1)

java - 当我打开模块时它崩溃

android - 数据在每次运行时在 firebase 中提交一次

java - PHP解码Base64,刷新并保留数据

android MGBox2 库等效?

c# - 找不到 Android 文本文件

javascript - sql插入没有错误,但表没有数据

sqlite - 将julian date列添加到SQLite表

android - 如何为 Android 单元测试定义 Mock Cursor

javascript - 在没有 Canvas 的javascript中使用自定义光标图像动态更改光标大小