Android 5屏幕故障/静态与Google地图片段在Viewpager中



我遇到了一个与Android 5和谷歌地图相关的奇怪问题,以及Viewpager和Fragments,希望从你们所有人那里得到一些好主意。

问题的屏幕截图:http://postimg.org/image/6wzssbdbr/(还没有内联代表)

情况:

  • 具有多个片段的查看页的主要活动
  • 其中一个片段内部有一个MapView,其中转发了所有生命周期方法;将MapView替换为MapsFragment,问题是一样的。
  • 打开一个新活动,只要新活动没有使用太多内存(我假设),就不会调用主活动的onDestroy并且发生故障,如果调用onDestroy,故障就不会发生
  • 第二个活动有一个卡号输入字段,当打开此活动时,我看到上面的屏幕截图。

如果我从第二个活动回到第一个活动,我也会遇到一些奇怪的东西,屏幕的底部被复制到顶部并显示在那里,周围有一些静态。

装有Android 4的设备没有问题,我的目标是最新的SDK,使用最新的构建工具。

如果我删除视图中的片段,其中包含谷歌地图,没问题。

唯一有效的是android:hardwareAccelerated='false',但正如你可能想象的那样,这会减慢应用程序的速度。

欢迎任何建议/想法。到目前为止,我尝试了大约 4-5 种不同的东西,只有 android:硬件加速工作.

感谢您的阅读,

丹尼

编辑:

(没有足够的代表发布超过 2 个链接,因此下面的链接前面没有 code.google.com)谷歌代码问题:

  • 我的问题在这里报告] ->/p/gmaps-api-issues/issues/detail?id=7391,因为我认为它是特定于地图的

  • 在这里发现类似的问题 ->/p/android/issues/detail?id=81832 在 Android 错误中报告

Stackoverflow类似问题:Android SystemUI故障

添加:

android:hardwareAccelerated="false"

到活动或应用程序清单条目。 此解决方法会禁用硬件加速图形,因此不要掉以轻心。 Google中至少有一个错误报告,用于与您的视觉故障类似的错误故障,希望他们能尽快解决此问题。

我不建议将其放入运输应用程序中,只是为了证明或反驳您的绘图故障是由于底层硬件加速系统的问题造成的。

您还可以尝试通过以下方式在视图级别禁用硬件加速:

view.setLayerType(View.LAYER_TYPE_SOFTWARE, null);

特别是如果您有 WebView,在我的应用程序中将图层类型设置为WebView上的软件对于解决UI故障大有帮助。

最新更新