【问题标题】:Android speed of ArrayList vs Database [closed]ArrayList与数据库的Android速度[关闭]
【发布时间】:2014-09-15 07:54:07
【问题描述】:

我必须在某处存储 500-1000 个值,但我无法确定哪个更有效(ArrayList vs Database)。你能解释一下arraylist和database的优缺点吗?

谢谢...

【问题讨论】:

  • 它们是两个完全不同的东西。 ArrayList 或通常任何 List 不是持久的,不像数据库那样持久。
  • 2 个不同的概念:ArrayList 存储在内存中,因此速度更快,但不允许在应用程序启动之间检索数据。

标签: java android performance sqlite arraylist


【解决方案1】:

内存中的数据结构总是比 DB 快。

但是要在数据结构的大小和可用内存之间进行权衡。根据您的需要,arraylist 会更快。但是一旦应用程序停止或终止,数据就会消失。 数据库是持久性数据存储。如果您需要存储临时数据,那么 arraylist 是合适的,如果您需要永久存储它,那么您有 2 个选项:

  1. 数据库(标准方式、API 可用、标准实践)
  2. 文件系统(将您的数据保存在数据结构中,直到应用程序停止,然后如果需要安全性,将其以加密形式写入文件。)

如果您需要,请探索适用于 android(sqlite) 的内存数据库。这是最适合你的。

【讨论】:

    【解决方案2】:

    数组列表的用途和数据库不同。

    如果您不想永久存储您的记录,那么您可以使用“数组列表”,但如果您想永久存储您的记录,那么您需要使用数据库。 因为当您将记录存储在 Array 列表中时,这些记录存储在 RAM 中。记录不存储到辅助存储中。但是当您将记录存储到数据库中时,记录存储到数据库中。

    如果您担心从 Array List 或数据库访问数据的速度,那么 arrayList 比数据库快

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-20
      • 2011-03-30
      • 1970-01-01
      • 2010-10-15
      相关资源
      最近更新 更多