我正在开发一个使用SQL数据库存储数据的应用程序。根据应用程序的设计,每3分钟左右会根据用户的操作更新新数据。
在我看到的教程中,他们建议在更改后关闭数据库(这在资源方面是“昂贵”的)。
对于我开发的应用程序来说,是否最好将其保持打开状态,因为它会相当频繁地进行更新,或者应该在每次更改后立即运行close()方法?
我想我担心的是,不断地打开和关闭数据库会消耗比保持其一直打开更多的资源。
我正在开发一个使用SQL数据库存储数据的应用程序。根据应用程序的设计,每3分钟左右会根据用户的操作更新新数据。
在我看到的教程中,他们建议在更改后关闭数据库(这在资源方面是“昂贵”的)。
对于我开发的应用程序来说,是否最好将其保持打开状态,因为它会相当频繁地进行更新,或者应该在每次更改后立即运行close()方法?
我想我担心的是,不断地打开和关闭数据库会消耗比保持其一直打开更多的资源。
我曾尝试保持一个连接处于打开状态——我用它来填充中继器或其他东西——现在记不清了。
程序后来有另一个需要使用这个连接的地方——我想当用户点击中继器中的父项时,会弹出一个详细信息div。这导致了一个错误——大概是“无法在已打开的连接上执行open()”之类的。
我认为这个错误可能可以通过其他方式避免(比如检查我尝试打开的连接是否已经打开),但是当我思考它时,我意识到我必须在我的整个应用程序中将其作为标准实践,而那似乎太麻烦了,所以我只是将其作为标准实践始终在每次使用后关闭我的连接。
连接保留在连接池中——我对此并不是很了解——但如果您关心性能,我想在多次打开连接时要考虑它的成本——无论您的情况需要什么。
另一个想法是,您的数据库管理员可能能够强制关闭所有打开的连接,或者数据库可能因为其他原因关闭。如果您不是DBA,则可能需要考虑依赖于您长期无法控制的东西(如保持连接打开)的风险/收益。
即使是手机处理器,三分钟也可以是永恒。每次使用完毕请关闭它,下次再打开。这比在“虚空”中可能留下句柄更好。
如果你问我关于Android和一般编程方面的所有阅读,我认为最好在修改后立即关闭它。
当你可以的时候,我发现最好的做法是制作并注册内容提供程序。虽然它有一定的代价,但我相信你所获得的远比你所付出的要多得多。你几乎可以用内容提供程序来完成所有的事情,而Android门户网站上的记事本示例非常适合学习如何实现它。它会处理数据库同步和打开/关闭操作。因此,也许可以研究一下这个。