我googleMap从一个ArrayList对象中添加了标记.大约有250个标记; 我甚至必须将它们转换为位图来自定义它们.这是一项资源密集型任务.但它严重阻止了我的UI线程.
我是这样做的:
final HashMap<Marker, NearLocation> markerIdMap = new HashMap<Marker, NearLocation>();
for (final NearLocation result : MainActivity.nearLocationList) {
// Do all the hard work here
}
Run Code Online (Sandbox Code Playgroud)
在地图加载后,如何以某种方式动态地执行此操作,并在生成它们时填充它们?我不确定我是否可以通过在后台完成一些工作来做到这一点,然后当标记完成时将其移动到UI线程进行添加.
我知道如何用一个单独的方式做到这一点AsyncTask.虽然我在循环时不确定......
根据所显示的地图区域,动态添加标记的可能性有多大?
我有很多标记或者说我的标记需要很多渲染性能,因为它们是自定义的.我现在实现了它,当"camerachange"被触发时,只绘制了40个标记.所以在这个时候,当相机位置改变时,我总是渲染40个新标记.
我读到了关于runnable和handler的更多选择吗?有人知道哪种可能性最好,所以ui-thread没有被阻止?