我有 30 个对象,每个实例由 7 个字符串字段和一个小位图组成。这些对象将被销毁并每天重新创建。在我的 android 应用程序中,从数据库中写入和读取这些数据会更有效吗?还是简单地创建一个新类并创建 30 个实例并将它们存储在一个数组中?内存效率/性能/等。
感谢您的时间。
我有 30 个对象,每个实例由 7 个字符串字段和一个小位图组成。这些对象将被销毁并每天重新创建。在我的 android 应用程序中,从数据库中写入和读取这些数据会更有效吗?还是简单地创建一个新类并创建 30 个实例并将它们存储在一个数组中?内存效率/性能/等。
感谢您的时间。
如果您不想为数据库编写样板代码,您可以将对象保存为文件JSON
或XML
格式化为文件。
你有两种方法:
JSON
或XML
本地存储并在您的类和所需数据格式之间编写转换器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.
对于有限数量的对象,我认为您是具有Object
代表性并将它们存储在ArrayList
. 为大量条目设计的数据库。
但是如果数据需要保存一整天,GC
如果你把它留在内存中,你就有丢失它的风险,在这种情况下,你别无选择,只能将它存储在数据库中。
你从哪里得到这些数据?
将这些项目写入数据库,因为它们需要持久化,即使只有 24 小时。
您应该将图像文件存储在内部存储Bitmap
沙箱中,并通过数据库中的文件名引用它们,因为在数据库中存储最小的blob通常效率低下。