设置
我遇到了一个非常奇怪的滞后错误。使用 ABS 4.2,支持库 v4 修订版 11,以及新的 SupportMapFragment 和嵌套片段。此错误出现在 Android 4.2 上的 nexus 4 和 2.3.6 上的 nexus 1 上。
我有这些片段:
#1“MainContainer”,带有一个包含片段页面适配器的视图页面。
#2 此片段页面适配器中的“SupportMapFragment”。我扩展了 SupportMapFragment 但同样的错误适用于它的默认实现。
#3 一个额外的片段(只是根据偏好调整设置,所以没什么特别的)
做过:
让片段#2 运行并单击选项菜单项(在溢出菜单中),它将片段事务运行到片段#3。这会将旧片段 MainContainer 添加到 backstack。
单击后退按钮,弹出 #3 并将 #1 (MainContainer) 和 #2 (SupportMapFragment) 再次显示。
预期的:
平滑运行的地图片段。
发生:
地图视图非常慢,几乎没有功能。我在整个应用程序中看不到任何其他滞后。
奇怪的部分:
尽管我在整个生命周期更改中执行了任何片段事务,但延迟仍然如此,除非重新创建活动或片段被破坏:ed(MainContainer 始终在片段管理器中)。但是,如果我按下溢出按钮以查看我在步骤 1 中按下的实际按钮(仅显示溢出菜单中的项目),地图会突然运行顺畅。
从逻辑上讲,这表明仅通过显示更改的溢出菜单中的项目来更改某些内容。由于所有这些组件中涉及的代码太多,除了在另一个片段(getChildFragmentManager() )中使用 SupportMapFragment 之外,我真的找不到任何不寻常的东西,如果你问什么片段可能会更好代码可能很有趣,我会用它更新。
请帮忙,因为我要疯了......