我是Android开发新手,想要创建一个Google地图应用程序。我必须使用2个大的XML文件和地理数据(latlons),一个是2mb,另一个是8MB大。
访问和解析此数据的最快方法是什么?把这个存入数据库是不是更好呢?我认为the服务不是一个好主意,因为每次应用程序启动时,我都必须加载10MB……我想那过程会很慢……
有没有什么好的建议?
谢谢!
发布于 2012-03-17 17:10:07
将所有数据保存在服务器中,并使用Keep服务从设备访问它。最好使用SAX解析器,因为数据太大了。如果可能,最好从服务器端实现搜索功能或从服务器端实现分页。
发布于 2012-03-17 17:18:05
也许您可以创建某种类型的元数据,与大型xml文件一起使用。此元数据可以指向大型xml文件的特定部分。并且每个小部分可以是dom对象而不是sax解析器。
我建议使用sax,在某种哈希表(简单的键值对)中创建所需数据的摘要并使用它。可能正在对未更改的数据使用SharedPreferences。
此外,您还需要考虑如何使用/使用哪些数据以及使用频率。也许你可以保持生产者消费者架构,在这种架构中,线程准备数据以供使用,消费者在通知或其他事情准备就绪时使用它。
你需要从3个角度思考
而且我不推荐将DOM用于整个树。您需要结合使用SAX和DOM。
首先让它正常工作,然后记录响应/性能延迟,并按照自己的方式从最差到最好进行改进。
https://stackoverflow.com/questions/9748109
复制相似问题