0

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

感谢您的时间。

4

3 回答 3

1

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

你有两种方法:

  1. 使用序列化存储和反序列化读取存储在文件系统中
  2. 存储JSONXML本地存储并在您的类和所需数据格式之间编写转换器

Database is good solution, because SQLite in Android is real fast and so on. But if you will want to change structure of table you will have to write ALTER TABLE queries in onUpdate() method of SQLiteOpenHelper and other troubles.

So I would recommend to use XML or JSON to store data.

Upd

Also, you can mark your custom data class as serializable, store values in ArrayList or other structure and serialize it to store, then deserialize to read.

于 2013-03-29T22:41:17.523 回答
0

对于有限数量的对象,我认为您是具有Object代表性并将它们存储在ArrayList. 为大量条目设计的数据库。

但是如果数据需要保存一整天,GC如果你把它留在内存中,你就有丢失它的风险,在这种情况下,你别无选择,只能将它存储在数据库中。

你从哪里得到这些数据?

于 2013-03-29T19:42:31.813 回答
0

将这些项目写入数据库,因为它们需要持久化,即使只有 24 小时。

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

于 2013-03-29T19:44:08.660 回答