0

我正在绘制带有预定义路径的地图。地图可以移动,可以放大和缩小。这在我的 Android 4.0.4 上放大时效果很好,快速流畅,看起来不错。

由于我得到了 4.1.2 的更新,一切都不同了:当放大形状时,现在会变得像素化(不清晰,如附图中所示)并且移动地图非常抖动。我没有更改代码。

令人惊讶的是,在模拟器 (AVG) 中它在缩放时看起来也不错(见下面的截图)

我所做的是: - 我在大约 x=0-2000 和 y=0-1500 的区域中有很多路径 - 我只绘制在我的屏幕尺寸之间可见的路径 - 缩放我用 canvas.scale(x ,x) 在我的自定义视图的 onDraw() 方法中 - 移动地图是由我的自定义视图的 onDraw() 方法中的 canvas.translate(x,y) 完成的

我尝试了什么:

  • 我试图用缩放而不是使用 canvas.scale() 来转换所有路径 -> 这会起作用,但我的形状变大了,所以无法绘制:“形状路径太大而无法渲染成纹理”

  • 用大坐标重新创建路径。同样的问题,而且速度很慢->“形状路径太大而无法渲染为纹理”

  • 将形状分成几个形状不是解决方案,因为它之前已经在我的 4.0.4 上工作过,而且我也喜欢正确绘制边框。(例如海岸线)

在此处输入图像描述

模拟器

在此处输入图像描述

4

1 回答 1

0

我发现了问题:我的新 JellyBean 更新硬件加速默认为开启,而硬件加速接缝有问题。我不得不在 AndroidManifest.xml 中明确错误的“硬件加速”:

    <application
   android:hardwareAccelerated="false"
    android:icon="@drawable/ic_launcher"

问候

于 2013-03-26T19:50:32.560 回答