<分区>
最近几天,由于我的应用程序中的数据库泄漏,我经常收到很多错误消息,所以现在我打开数据库,从中获取查询结果,然后再次关闭数据库。
但我还为我的自动完成 TextView 使用了一个 cursoradapter。
我是否也应该那样做:打开数据库,获取光标,关闭数据库?!
我的意思是,我没有因为不这样做而遇到任何问题,但是......
所以我需要专家的提示,你的提示
<分区>
最近几天,由于我的应用程序中的数据库泄漏,我经常收到很多错误消息,所以现在我打开数据库,从中获取查询结果,然后再次关闭数据库。
但我还为我的自动完成 TextView 使用了一个 cursoradapter。
我是否也应该那样做:打开数据库,获取光标,关闭数据库?!
我的意思是,我没有因为不这样做而遇到任何问题,但是......
所以我需要专家的提示,你的提示
最佳答案
您应该能够在 onCreate 方法中打开数据库并在 onDestroy 方法中关闭它。这将保证只要 Activity 处于“Activity ”状态,它就可用,并且最终会被清除。
此外,您可能应该在与适配器一起使用的光标上使用“startManagingCursor”。这将确保它在暂停、恢复和销毁时分别根据需要停用、重新查询和关闭。适配器中未使用的游标应在您完成从它们获取数据后立即关闭。
如果你遵守这些规则,就不会有泄漏。
关于android - 关还是不关?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3890857/