Android 从文本文件在谷歌地图上显示10000个标记的最快方法?穿线?

Android 从文本文件在谷歌地图上显示10000个标记的最快方法?穿线?,android,multithreading,google-maps,google-maps-markers,opencsv,Android,Multithreading,Google Maps,Google Maps Markers,Opencsv,我使用开放式CSV阅读器读取lat、long等值——正如我在某处读到的,这比使用缓冲输入流阅读器快?(这是真的吗?) 此读取发生在AsyncTask的“doInBackground”方法中。 从生成的数组中,我调用on“onProgressUpdate”方法,在该方法中,我调用一个方法在Google Maps实例上绘制这些标记 我还实现了标记集群,在进行此操作时调用标记集群。正如您所知,我需要再次调用项数组(标记数据),以将其作为输入发送到ClusterManager类。然后,在“onPostE

我使用开放式CSV阅读器读取lat、long等值——正如我在某处读到的,这比使用缓冲输入流阅读器快?(这是真的吗?)

此读取发生在
AsyncTask
的“
doInBackground
”方法中。 从生成的数组中,我调用on“
onProgressUpdate
”方法,在该方法中,我调用一个方法在Google Maps实例上绘制这些标记

我还实现了标记集群,在进行此操作时调用标记集群。正如您所知,我需要再次调用项数组(标记数据),以将其作为输入发送到ClusterManager类。然后,在“
onPostExecute
”中,我简单地显示了一个toast,表示加载已完成

当我提供了大约5000个标记时,我得到了一个内存超出边界的异常!但是,我必须显示大约10000个整体


现在的问题是,在保留CSV文件的同时,有哪些方法可以使处理速度更快、效率更高。请告诉我,在这个过程中,线程是否可以在任何地方使用(我是新来的,知道的不多,所以清晰是至关重要的)

线程在这里对您没有帮助,因为读取文件和/或向地图添加标记将成为您的瓶颈,如果多次尝试,您的文件访问速度将变慢

对于内存问题,您需要分析您的程序,并查看内存的使用情况。可能是5000个标记占用了太多的内存,但也可能是内存泄漏,或者正在执行一些操作,例如读取整个文件并将其保存在内存中,这样可以更有效地处理它


(是的,在Java中可能会发生内存泄漏,尽管它确实可以保护您免受一些最常见的原因的影响)。

“从结果数组中”。你要在一个数组中放置10000个坐标吗?是的,分别列出lat、long和name的数组列表,每个列表的大小都在10000左右。我对标记进行了聚类,所以它不是密集的。问题是从一个文本文件中加载它们,创建数组,并将它们全部作为地图标记加载。我还有一个标记项数组,可以在Google地图上以For循环的集群形式逐个显示它们-我可以在那里为每个标记生成一个线程吗?可能吧。不过,我怀疑这是否值得推荐。谷歌地图需要在内部同步这些变化,因此很难估计操作的并行性。。。。手机通常也没有太多的核心。我认为这是一个真实的情况,你需要更聪明地工作,而不是更努力。记下标记的数量(5000个太多了,无法在屏幕上查看),然后发送真正重要的标记。我一直在寻找只“加载”地图可见部分的标记的方法。然而,我不知道怎么做。有样品吗?试试谷歌。您需要查看您的需求和数据,并确定如何做到这一点。我们不能为你做这件事。。。。