在 Android 中存储数据方面,使用大型 ArrayList 或设置 SQLite 数据库会更有效吗?我有大约 9000 个巴士站和站名(都在字符串中)需要存储,我想知道哪种方法最快或最有效。
问问题
1232 次
3 回答
2
ArrayList 可能是一个非常糟糕的主意。我假设您希望数据是持久的,因此如果您的用户杀死您的应用程序,如果您使用 ArrayList,您的数据将会丢失。数据库是持久的(除非用户清除应用程序的缓存)。所以我强烈建议在 ArrayList 上使用数据库。
于 2012-12-30T02:00:20.547 回答
0
1.) 因为您需要持久性,所以从 SQLite DB 存储和检索您的数据。而且由于您说您有 9k+ 行,因此一个简单的选择将立即为您提供所有内容,并且如果需要,您也可以轻松过滤数据
2.) 在启动时,将所有数据放入高效的内存结构中,如 HashMaps(或在您的情况下为数组列表),并在整个应用程序中引用它们。这样,您只会进行一次访问。
3.) 如有疑问,请建立数据库。无害,比文件更高效、更容易处理
于 2012-12-30T03:31:13.847 回答
0
如果您的数据没有更改,那么您可能会在启动时读取它并在应用程序运行时将其保存在内存中。例如,拥有一个包含所有停止的 .json 文件,在启动时读取它,将数据放入 HashMap 或易于使用的东西,因为您可能会查找内容。它可能适用于约 9000 个条目。
如果您要在使用期间添加或更新有关停靠点的信息,那么 SQLite 是更好的选择。
于 2012-12-30T02:15:33.307 回答