【发布时间】:2013-03-26 17:15:11
【问题描述】:
我正在绘制带有预定义路径的地图。地图可以移动,可以放大和缩小。 这在我的 Android 4.0.4 上放大时效果很好,快速流畅,看起来不错。
自从我更新到 4.1.2 后,一切都不同了: 当放大形状时,现在将像素化(不清晰,如附图所示)和 移动地图是非常抽搐。我没有更改代码。
令人惊讶的是,在模拟器 (AVG) 中,缩放时看起来也不错(见下面的截图)
我所做的是: - 我在大约 x=0-2000 和 y=0-1500 的区域有很多路径 - 我只绘制在我的屏幕尺寸之间可见的路径 - 缩放我在自定义视图的 onDraw() 方法中使用 canvas.scale(x,x) - 移动地图由我的自定义视图的 onDraw() 方法中的 canvas.translate(x,y) 完成
我尝试了什么:
我尝试通过缩放而不是使用 canvas.scale() 来转换所有路径 -> 这会起作用,但是我的形状变大了,因此无法绘制:“形状路径太大而无法绘制渲染成纹理”
用大坐标重新创建路径。同样的问题,而且速度非常慢 ->“形状路径太大而无法渲染成纹理”
将形状分成几个形状不是解决方案,因为它之前已经在我的 4.0.4 上工作过,而且我也喜欢正确绘制边框。 (例如海岸线)
模拟器
【问题讨论】: