调用canvas.drawBitmap时系统会发生什么?

时间:2010-08-15 16:37:17

标签: android canvas bitmap drawrect surfaceview

我有一个可滚动和可缩放的地图,它具有地图的低分辨率副本,当缩放比例较小时绘制,而当用户放大某个点时会产生一个平铺系统。我遇到的问题是,第一次绘制瓷砖时,存在短暂但明显的延迟。在最初的延迟之后,一切都很顺利。 GC没有运行,所有位图都在启动时加载。知道究竟发生了什么,所以我可以解决滞后问题吗?或者任何解决方法?谢谢。下面是代码:

            canvas.drawBitmap(map, null, bgRect,paint);

            if(matrix[0]>.9){
                 mapPicture = makeMyMap(xScale,yScale); //make/update our map.
                 mapPicture.draw(canvas);  
            }

1 个答案:

答案 0 :(得分:0)

尝试使用DDMS启用跟踪,以确定哪些方法在第一次绘制时需要很长时间,并查看它们与后续绘制的比较。

drawBitmap可能会在第一次抽奖而不是加载时触发图像的平台级别上调/缩小 - 但这是我的推测。