Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在android中多次访问数据库。性能如何?_Android_Performance_Sqlite - Fatal编程技术网

在android中多次访问数据库。性能如何?

在android中多次访问数据库。性能如何?,android,performance,sqlite,Android,Performance,Sqlite,在我的应用程序中,我经常从数据库中检索内容。所以我可能会在需要时从数据库中访问数据。例如,即使在一个活动中,我也会打开和关闭数据库3到4次。这是否足以导致性能下降?这实际上取决于您正在读取的数据量和查询的复杂程度。就我个人而言,除非您注意到性能问题,否则我不会担心为什么要修复一个不存在的问题。也就是说,如果您注意到性能问题并认为数据库可能是原因,您可以尝试以下方法: 缓存数据库读取,以便仅在更新某些内容时执行这些操作。 在事务中包装数据库写入,以便一次性完成磁盘写入。 只读取您需要的数据。例如,

在我的应用程序中,我经常从数据库中检索内容。所以我可能会在需要时从数据库中访问数据。例如,即使在一个活动中,我也会打开和关闭数据库3到4次。这是否足以导致性能下降?

这实际上取决于您正在读取的数据量和查询的复杂程度。就我个人而言,除非您注意到性能问题,否则我不会担心为什么要修复一个不存在的问题。也就是说,如果您注意到性能问题并认为数据库可能是原因,您可以尝试以下方法:

缓存数据库读取,以便仅在更新某些内容时执行这些操作。 在事务中包装数据库写入,以便一次性完成磁盘写入。 只读取您需要的数据。例如,如果您有一个列表,则显示20个字段中的3个字段,仅读取您需要的3个字段。
虽然我大体上同意你的帖子,但我不确定我是否同意为什么要修复一个不存在的问题记住一个可能不明显的问题是电池耗电。作为程序员,我们应该意识到并负责使我们的应用程序尽可能高效。这不仅是为了改善用户体验的快速性能,也有助于节省手机的电池寿命。您仍然需要首先确定问题是否存在。如果你没有一些基础来评估它们的实际效果,那么进行优化是没有意义的。大多数情况下,我们不遵循编码标准。但有些情况下,我们是如何获得期望的结果的。原因可能是缺乏语言方面的经验或知识。这不应该发生。不?从你的回答中,我知道,我们花多少时间并不重要访问数据库。这只是数据传输量的问题……是的。这和查询的复杂性有关。