我正在绘制带有预定义路径的地图。地图可以移动,可以放大和缩小。 在放大我的Android 4.0.4时,这非常有效,快速,流畅,看起来很棒。
因为我得到4.1.2的更新,所以一切都不同: 当放大形状时,现在将获得像素(如附图中的非锐化)和 移动地图非常抽搐。我没有改变代码。
在模拟器(AVG)中,它在缩放时看起来也很不错(见下面的截图)
我的工作是: - 我在大约x = 0-2000和y = 0-1500的区域内有很多Pathes - 我只绘制了屏幕之间可见的pathes - 在我的自定义视图的onDraw()方法中使用canvas.scale(x,x)进行缩放 - 移动地图是由我自定义视图的onDraw()方法中的canvas.translate(x,y)完成的。
我尝试了什么:
我试图通过使用canvas.scale() - >的缩放来转换所有的pathes这样可行,但我的形状变大,所以无法绘制:“形状路径太大而无法渲染到纹理中”
使用大坐标重新创建pathes。同样的问题,它非常慢 - > “形状路径太大而无法渲染到纹理中”
将形状分成几个形状不是解决方案,因为它之前已经在我的4.0.4上工作了,我也想正确地绘制边框。 (例如海岸线)
模拟器
答案 0 :(得分:0)
我发现了问题: 随着我的新JellyBean更新硬件加速被默认为打开和Hardwareacceleration接缝是错误的。我不得不明确地假设AndroidManifest.xml中的“硬件加速”:
<application
android:hardwareAccelerated="false"
android:icon="@drawable/ic_launcher"
问候