我有30个对象,每个实例由7个字符串字段和一个小位图组成。 这些对象将被破坏并每天重新创建。 在我的Android应用程序中,从数据库写入和读取这些数据会更有效吗?或者只是创建一个新类并创建30个实例并将它们存储在一个数组中? 内存效率/性能/等。
感谢您的时间。
答案 0 :(得分:1)
如果您不想为数据库编写样板代码,可以将对象保存为JSON
或XML
格式的文件。
你有两种方法:
JSON
或XML
本地存储并在您的班级和所需数据格式之间编写转换器数据库是一个很好的解决方案,因为Android中的SQLite
速度非常快,依此类推。但是,如果您想要更改表的结构,则必须使用SQLiteOpenHelper
的ALTER TABLE
方法和其他问题编写onUpdate()
个查询。
因此,我建议您使用XML
或JSON
来存储数据。
<强> UPD 强>
此外,您可以将自定义数据类标记为可序列化,将值存储在ArrayList或其他结构中,并将其序列化以存储,然后反序列化以进行读取。
答案 1 :(得分:0)
对于有限数量的对象,我认为您使用Object
表示并将其存储在ArrayList
中。数据库设计用于大量条目。
但如果需要整天保存数据,如果将其保留在内存中,则可能会失去GC
,在这种情况下,您无法选择将其存储在数据库中。 / p>
你从哪里获得这些数据?
答案 2 :(得分:0)
将项目写入数据库,因为它们必须是持久性的,如果只持续24小时。
您应该将图像文件存储在内部存储沙箱中,并通过数据库中的文件名引用它们,因为即使数据库中存储最小的Bitmap
blob,通常效率也很低。 / p>