Android SupportMapFragment在第一次加载时非常缓慢,但在随后的加载(包括不同的活动)中很快

Android SupportMapFragment在第一次加载时非常缓慢,但在随后的加载(包括不同的活动)中很快,android,supportmapfragment,mapfragment,Android,Supportmapfragment,Mapfragment,我的应用程序有三种不同的活动,它们使用SupportMapFragment。启动应用程序后,第一次加载会出现严重延迟。即使我返回并访问一个完全不同的活动(也包含一个映射),这种缓慢的加载时间也不会在后续加载中发生。我想知道这是不是我能解决的问题 显示如何加载SupportMapFragment。通过使用调试点,我确定在onViewCreated和onStart之间会出现慢度 更新1:使用Debug我对第一次加载和第二次加载进行了两次跟踪。第二次加载处于完全不同的活动中。我很快注意到第一个跟踪(缓

我的应用程序有三种不同的活动,它们使用
SupportMapFragment
。启动应用程序后,第一次加载会出现严重延迟。即使我返回并访问一个完全不同的活动(也包含一个映射),这种缓慢的加载时间也不会在后续加载中发生。我想知道这是不是我能解决的问题

显示如何加载
SupportMapFragment
。通过使用调试点,我确定在
onViewCreated
onStart
之间会出现慢度

更新1:使用
Debug
我对第一次加载和第二次加载进行了两次跟踪。第二次加载处于完全不同的
活动中。我很快注意到第一个跟踪(缓慢加载)有很多调用
java/util/zip/zipEntry
。我在第二次追踪中没有看到任何类似的呼叫。此外,此延迟发生在MapFragment的
onCreateView
onViewCreated
之间

更新2:这也发生在
MapFragment
(不支持)上,只是延迟实际上要长得多


更新3:似乎相关。还有。

为什么要使用嵌套片段,而不是扩展
SupportMapFragment
或直接使用它?@Commonware我在
ViewPager
中使用它,所以我加载了一个
片段来加载和配置
SupportMapFragment
“我在ViewPager中使用它”——那么呢?这并不能证明嵌套片段的开销和普遍的讨厌。在
查看页面
中使用地图显示,无嵌套片段。请注意,我使用的是
MapFragment
,而不是
SupportMapFragment
,但这不会影响解决方案。如果您想在某些地方使用嵌套片段,请直接使用,但只能在没有较便宜的解决方案的情况下使用。@Commonware我已经进行了重构,以便
ViewPager
位于活动中,
CustomMapFragment
是直接片段。第一次加载时仍有将近两秒钟的延迟。这可能是
SupportMapFragment
的问题吗?我可以转换,因为我们在上一个版本发布后放弃了对API 10的支持。“这可能是SupportMapFragment的问题吗?”——很难说,但我对此表示怀疑。使用Traceview确定您的时间花在哪里,而不仅仅是记录语句。我猜这段时间大部分是初始化与Play Services框架的通信的一部分,它开始下载地图块,而这不是您可以随时更改的。