Что происходит в системе при вызове canvas.drawBitmap? - PullRequest
0 голосов
/ 15 августа 2010

У меня есть прокручиваемая и масштабируемая карта с копией карты в низком разрешении, которая рисуется при малом масштабе, и система листов, когда пользователь перемещается в определенной точке.Проблема, с которой я столкнулся, заключается в том, что при первом рисовании тайлов происходит короткое, но заметное отставание.После этого начального лага все гладко.GC не работает, и все растровые изображения загружаются во время запуска.Любая идея, что именно происходит, чтобы я мог позаботиться о отставании?Или какой-нибудь способ обойти?Благодарю.Вот код ниже:

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

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

1 Ответ

0 голосов
/ 16 августа 2010

Попробуйте включить трассировку с помощью DDMS, чтобы определить, какие методы занимают много времени на первом рисунке, и посмотрите, как они соотносятся с последующими чертежами.

Возможно, drawBitmap вызывает повышение уровня платформы /уменьшение масштаба изображений при первом рисовании, а не при загрузке, - но это предположение с моей стороны.

...