使用Android和MVC打开数据库

使用Android和MVC打开数据库,android,model-view-controller,Android,Model View Controller,我正在写一个Android应用程序,一本字典只是为了好玩。我决定使用MVC作为体系结构模式。我需要做很多查询,因为我想像谷歌一样创建一个istant搜索:每次用户向EditText添加一个字母时,我都想查询数据库。 我想知道,如果每次都打开数据库或始终保持数据库打开,那么最好的解决方案是什么。前者可能更好,因为数据库只有在严格必要时才开放,后者应该更高效。 还有另一种方法。因为我使用的MVC是查询数据库的视图。因此,我可以在模型部分创建一个公共方法,在必要时打开数据库,并在用户找到单词时关闭数据

我正在写一个Android应用程序,一本字典只是为了好玩。我决定使用MVC作为体系结构模式。我需要做很多查询,因为我想像谷歌一样创建一个istant搜索:每次用户向
EditText
添加一个字母时,我都想查询数据库。
我想知道,如果每次都打开数据库或始终保持数据库打开,那么最好的解决方案是什么。前者可能更好,因为数据库只有在严格必要时才开放,后者应该更高效。
还有另一种方法。因为我使用的MVC是查询数据库的视图。因此,我可以在模型部分创建一个公共方法,在必要时打开数据库,并在用户找到单词时关闭数据库。但这是一个好的解决方案吗?数据库最重要的两个功能(打开和关闭)将在视图部分公开。这听起来不太正确:它没有隐藏任何信息


你对这个逻辑和性能问题怎么看?

如果我们只讨论理论模式设计,事实是模型甚至不应该暴露它从数据库获取数据的事实。您可以轻松地在模型内部跟踪数据库是否打开,并在必要时打开它

在问题的性能方面,当涉及到这样的问题时,获得好答案的唯一方法是测量。这可能是因为保持数据库的开放不会产生任何不良影响,而且只要保持数据库的开放就不会有任何问题。这将是最简单、最快的解决方案。然而,保持它打开可能会占用太多内存,或使CPU处于繁忙状态,或其他一些副作用


正如我所提到的,真正有一个明确答案的唯一方法是测量。除了其他分析工具之外,您还可以使用。

如果我们只讨论理论模式设计,事实是模型甚至不应该暴露它从数据库获取数据的事实。您可以轻松地在模型内部跟踪数据库是否打开,并在必要时打开它

在问题的性能方面,当涉及到这样的问题时,获得好答案的唯一方法是测量。这可能是因为保持数据库的开放不会产生任何不良影响,而且只要保持数据库的开放就不会有任何问题。这将是最简单、最快的解决方案。然而,保持它打开可能会占用太多内存,或使CPU处于繁忙状态,或其他一些副作用


正如我所提到的,真正有一个明确答案的唯一方法是测量。您可以使用其他分析工具。

如果需要打开数据库,可以在模型内部进行控制。简单有效!我将尝试保持数据库的开放性,希望性能不会太差。谢谢你的回答:)如果我需要打开数据库,在模型内部进行控制是个好主意。简单有效!我将尝试保持数据库的开放性,希望性能不会太差。谢谢你的回答:)