我有一个很大的 KML 文件到原生 Android 应用程序,请检查以下详细信息并提供建议。
KML 文件详细信息:
- 大小:1.7 MB
- kml 文件元素总数:500 个元素
- 多边形总数:1000多边形
Android 应用详情:
- 以上详情将在Fragment中查看
- 我使用了以下支持库来实现这个屏幕 编译 'com.google.maps.android:android-maps-utils:0.4+'
- 一些计算是在加载屏幕时完成的(比如距离计算)
问题:
- 加载 map 和 kml 图层需要花费大量时间,大约需要 8 秒 创建 KMLLayer 实例
以良好性能实现上述细节的最佳做法是什么?
请指教。
最佳答案
最佳做法是在后台进行长时间操作(例如,在单独的线程上)并将复杂的任务拆分成小部分。所以你可以:
1) 尽快创建并开始加载 KML 图层(例如在创建应用程序时),而不是仅仅显示它;
2) 而不是一个包含 500 个元素和 1000 个多边形的 kml 文件,而是使用包含 10 个元素和 100 个多边形的 50 个 kml 文件,并只加载必要的文件到图层(例如,您可以按区域位置或语义信息拆分它,或其他标准);
3)结合1点和2点;
4) 恰恰对于谷歌地图,可以使用 kml 文件中的信息创建图 block 并使用 TileProvider。
关于android - 在本地 Android 应用程序的 map 上显示 KML 图层最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42553100/