Android应用程序效率更高?数据库或对象

时间:2013-03-29 19:31:54

标签: android database performance pojo memory-efficient

我有30个对象,每个实例由7个字符串字段和一个小位图组成。 这些对象将被破坏并每天重新创建。 在我的Android应用程序中,从数据库写入和读取这些数据会更有效吗?或者只是创建一个新类并创建30个实例并将它们存储在一个数组中? 内存效率/性能/等。

感谢您的时间。

3 个答案:

答案 0 :(得分:1)

如果您不想为数据库编写样板代码,可以将对象保存为JSONXML格式的文件。

你有两种方法:

  1. 使用序列化存储文​​件系统以存储和反序列化以读取
  2. JSONXML本地存储并在您的班级和所需数据格式之间编写转换器
  3. 数据库是一个很好的解决方案,因为Android中的SQLite速度非常快,依此类推。但是,如果您想要更改表的结构,则必须使用SQLiteOpenHelperALTER TABLE方法和其他问题编写onUpdate()个查询。

    因此,我建议您使用XMLJSON来存储数据。

    <强> UPD

    此外,您可以将自定义数据类标记为可序列化,将值存储在ArrayList或其他结构中,并将其序列化以存储,然后反序列化以进行读取。

答案 1 :(得分:0)

对于有限数量的对象,我认为您使用Object表示并将其存储在ArrayList中。数据库设计用于大量条目。

但如果需要整天保存数据,如果将其保留在内存中,则可能会失去GC,在这种情况下,您无法选择将其存储在数据库中。 / p>

你从哪里获得这些数据?

答案 2 :(得分:0)

将项目写入数据库,因为它们必须是持久性的,如果只持续24小时。

您应该将图像文件存储在内部存储沙箱中,并通过数据库中的文件名引用它们,因为即使数据库中存储最小的Bitmap blob,通常效率也很低。 / p>