java – 从数据库获取数据与从哈希映射获取数据

前端之家收集整理的这篇文章主要介绍了java – 从数据库获取数据与从哈希映射获取数据前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在我的 android *项目*我必须跟踪一定数量的产品的产品细节.这些产品上的所有数据都存储在sqlite数据库中.我可以在sqlite中使用select和update来跟踪产品对象.因此,我可以在更改时存储产品详细信息.
此外,我可以在开始时将所有产品加载到哈希映射或此类数据结构中,并跟踪这些产品对象.
对我而言,最重要的是哪一个更有效率和更高效.有人能帮我吗.谢谢!

解决方法

这取决于产品的数量. HashMap驻留在RAM中,数据库驻留在磁盘上.

这还取决于每秒查询数量查询的性质.数据库开发人员付出了很多努力来支持索引和过滤;如果你需要,重用比重新发明更好.

无论您选择哪种方法,您都必须记住Android应用程序进程可能随时被杀死(例如,当另一个进程需要内存时),并且您的代码只能保证接收onPause()(而不是onDestroy()或onStop( ),参见活动生命周期).如有必要,稍后将重新启动应用程序,但保存在RAM中(而不是保存)的所有数据当然都将丢失.因此,在onPause()或onSaveInstanceState()(what bundles are for)中,必须保存应用程序状态.在您的情况下,这可能意味着必须保存HashMap和所有辅助数据结构.

OTOH,如果产品数量很少(并且预计仍然很小),数据库可能是一种过度杀伤力;如果您只需要选择10个项目中的一个,那么编写循环比完成所有数据库支持要快.

一个更重要的注意事项:一个Activity是一个来自MVC观点的Controller(对于View,你通常创建和XML并重用现有的框架类,尽管你可以编写自定义控件).每次设备方向更改时以及在某些其他情况下,都会重新创建活动.但是您的数据属于Model部分.他们必须在方向改变中存活下来因此,它们不得归活动所有.

原文链接:https://www.f2er.com/java/127051.html

猜你在找的Java相关文章