Android arraylist大量的字符串对象

时间:2012-04-25 04:17:50

标签: java android storage

我正在为网站开发Android应用程序。它有大量的用户大约100000.我必须将这些用户提取到Arraylist进行自定义用户搜索。将这么多数据存储在Arraylist中是一种很好的做法(特别是在Android中)。如果不是我打算使用Sqlite数据库的任何建议?

3 个答案:

答案 0 :(得分:3)

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

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

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

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

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

答案 1 :(得分:1)

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

答案 2 :(得分:1)

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

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