1

我正在为网站开发 Android 应用程序。它有大约 100000 的大量用户。我必须将这些用户提取到 Arraylist 以进行自定义用户搜索。将这么多数据存储在 Arraylist 中(尤其是在 Android 中)是一种好习惯吗?如果没有,我打算使用 Sqlite 数据库有什么建议吗?

4

3 回答 3

4

您不想使用任何类型的列表。

数据库经过优化以存储和搜索大量数据,如果您将这些用户名存储在 ArrayList 中,您将负责确保有效搜索。

首先,这似乎是一个糟糕的主意。为什么要拥有所有 10 万个以上用户名的本地副本?这是对带宽的严重浪费!如果应用程序可以在数据库中查询它正在搜索的用户名,那就更好了。然后,您可以仅将结果存储在客户端上。

ex: SELECT * FROM `user` WHERE `name` LIKE "david" 

仅存储查询的结果。不是每个用户。

于 2012-04-25T04:37:51.980 回答
1

制作数据类并使其可序列化并使用文件存储..因为如果您使用DataBase获取和放置数据是一项不同的任务......存储文件对象更适合数据处理..

于 2012-04-25T04:22:35.930 回答
1

将内容存储在 ArrayList 中似乎不是一个好主意。根据数据或您的应用程序,您可能会收到“OutOfMemory”错误。尝试将信息持久化到 SQLite 数据库或文件中。

另一方面,我认为没有必要批量下载 10 万用户数据并将其存储在本地以便在设备上进行搜索。您可以让您的服务进行搜索并仅返回搜索结果。如果这是可能的,那么将其存储在 ArrayList 中也不错。如果您的数组列表的大小超过了 DVM 允许的数量,您可以覆盖 onLowMemory 回调并清空列表内容。通过这种方式,您可以防止您的应用程序被杀死

于 2012-04-25T04:36:09.617 回答