我一直在努力找出为什么我们看到我们的应用程序在 ICS 设备上显示闪烁的地图图块(在 ICS 之前的设备上运行良好)。当清单中设置了最低 sdk 级别时,我最终缩小了它似乎是 API 级别 15 设备上的 API 的问题(请参阅下面的重现步骤和示例代码)。
有没有其他人看到这个问题,甚至更好地知道是否有解决方法?
重现步骤:-
- 使用来自 API 15 SDK Samples add-ons/addon-google_apis-google_inc_-15/samples 的 Google 示例 MapDemos
- 将示例导入 eclipse 并按原样构建它,将 Project Build 目标设置为 15 ,启动应用程序,设备为纵向并显示 MapViewCompassDemo 视图 - 将设备旋转为横向并注意一切正常。
更改清单以将最小 sdk 设置为 15 添加:-
<uses-sdk android:minSdkVersion="15" />
使用仍设置为 15 的 Project Build target api 重新构建应用程序。
- 启动应用程序,选择 MapViewCompassDemo 视图并从纵向模式旋转到横向模式(强制恢复)并注意屏幕各个部分的地图图块开始持续闪烁灰色(重新加载 - 日志文件显示它通过 http 持续获取新数据)。
- 将 minSdkVersion 设置为较低级别(例如 11)并使用 Build target 设置为 11 进行构建会重现相同的问题。
当在示例代码中进一步设置缩放时,例如 10 iso 8,此问题更容易出现。
这可以在三星 Galaxy III、II 和 ICS (4.0.3) 上的 Galaxy Tab 平板电脑上重现。