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

Android 调用canvas.drawBitmap时,系统中会发生什么?,android,canvas,bitmap,drawrect,surfaceview,Android,Canvas,Bitmap,Drawrect,Surfaceview,我有一个可滚动和缩放的地图,它有一个低分辨率的地图副本,当缩放比例很小时绘制,当用户放大某个点时,它有一个平铺系统。我遇到的问题是,第一次画瓷砖时,有一个短暂但明显的滞后。在最初的延迟之后,一切都很顺利。GC未运行,所有位图都在启动时加载。你知道到底发生了什么吗?这样我就可以处理滞后了?或者有什么办法可以解决这个问题?谢谢代码如下: canvas.drawBitmap(map, null, bgRect,paint); if(matrix[0]&

我有一个可滚动和缩放的地图,它有一个低分辨率的地图副本,当缩放比例很小时绘制,当用户放大某个点时,它有一个平铺系统。我遇到的问题是,第一次画瓷砖时,有一个短暂但明显的滞后。在最初的延迟之后,一切都很顺利。GC未运行,所有位图都在启动时加载。你知道到底发生了什么吗?这样我就可以处理滞后了?或者有什么办法可以解决这个问题?谢谢代码如下:

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

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

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

drawBitmap可能会在第一次绘制而不是加载时触发平台级图像的上/下缩放,但这只是我的猜测