Android 5屏幕内ViewPager中包含Google Maps Fragment时出现故障/静态问题

3
我遇到了一个奇怪的问题,与Android 5和Google Maps结合使用Viewpager和Fragments有关,希望从大家那里得到一些好的想法。
问题截图:http://postimg.org/image/6wzssbdbr/(还没有内联的声誉)
情况:
- 主Activity具有多个Fragments的Viewpager。 - 其中一个片段内有一个MapView,并转发所有生命周期方法;将MapView替换为MapsFragment,问题仍然存在。 - 打开一个新的Activity,只要新的Activity没有使用太多内存(我假设),Main Activity的onDestroy就不会被调用,出现故障;如果调用了onDestroy,则不会出现故障。 - 第二个Activity有一个卡号输入字段,当打开此Activity时,我看到上面的屏幕截图。 - 如果我从第二个Activity返回到第一个Activity,我也会得到一些奇怪的东西,屏幕底部的一部分被复制到顶部,并显示一些静态内容。

Android 4的设备没有这个问题,我正在针对最新的SDK,使用最新的构建工具。

如果我在ViewPager中删除带有Google Maps的Fragment,就没有问题了。

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

欢迎任何建议/想法...到目前为止,我尝试了大约4-5个不同的方法,只有android:hardwareAccelerated有效。

谢谢阅读,

Danny

编辑:

(没有足够的声望发布超过2个链接,因此下面的链接没有code.google.com的前缀)

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

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

Stackoverflow类似问题:Android SystemUI glitches

1个回答

0

地址:

android:hardwareAccelerated="false"

将此解决方法添加到您的 Activity 或 Application 清单条目中。这会禁用硬件加速图形,因此不要轻视它。至少有一个类似于您的视觉故障的错误报告已经提交给 Google,希望他们能够快速解决此问题。

我不建议将其放入发布的应用程序中,仅用于证明或证明您的绘图故障是由底层硬件加速系统问题引起的。

您还可以通过以下方式在 View 级别上禁用硬件加速:

view.setLayerType(View.LAYER_TYPE_SOFTWARE, null);

特别是如果您有WebView,将WebView上的图层类型设置为软件,对于解决UI故障非常有帮助。


谢谢您提出这个建议,正如我之前所说,“只有android:hardwareAccelerated起作用”,所以我现在正在使用它,由于某些奇怪的原因,setLayerType并没有起作用。 - Danny

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接