【发布时间】:2017-10-29 00:01:36
【问题描述】:
我有一个包含多种项目类型的 RecyclerView,其中一个项目类型中有一个 MapView。
我的问题是我想显示多个 MapViews 并且在滚动发生时地图的加载可能会很慢;即使同一地点多次显示或视图已被回收,也必须再次加载地图上的更多内容。
根据 Google maps API 服务条款,出于性能原因允许缓存地图:
10.5.d:没有缓存或存储。您不会预取、缓存、索引或存储要在服务之外使用的任何内容,除非您 可能仅出于以下目的存储有限数量的内容 提高 Maps API 实施的性能,因为 网络延迟(并不是为了阻止 Google 准确跟踪使用情况),并且只有在这样的存储:
一世。是临时的(在任何情况下都不会超过 30 个日历日);
ii.是安全的;
iii.不操纵或聚合内容或服务的任何部分;和
iv.不会以任何方式修改归属。
如何在 MapView 中进行和缓存\恢复地图? - 我在 MapView 的 API 中看不到任何相关的内容
【问题讨论】:
-
由于我没有得到答案,我想我会发布我最终使用精简模式 (developers.google.com/maps/documentation/android-api/lite) 来提高性能
-
有什么方法可以缓存精简模式下的地图?
-
我非常怀疑,但它们加载速度更快
-
我认为更好的方法是不使用recyclerview,因为这对于在运行时发生变化的动态元素很有用,并且在它们看不见时会破坏元素。所以我认为 listview 会更好。
标签: android performance google-maps caching android-mapview