Оптимизация onDraw в Android — какая область перерисовывается?

В моем приложении для Android у меня есть собственный вид, реализующий onDraw().

Я знаю способ оптимизировать это, используя недействительность (ректировать) для определенной области, которую необходимо перерисовать. В то же время я мог бы еще больше оптимизировать отрисовку, если бы знал, какую область нужно перерисовать внутри onDraw().

В случае с iPhone я использую

  • (void)drawRect:(CGRect)rect, поэтому я знаю недействительный прямоугольник (который передается как параметр).

Есть ли способ получить этот прямоугольник в Android?


person antonio    schedule 07.09.2011    source источник


Ответы (1)


Для всех, кто заинтересован:

Похоже, что canvas.getClipBounds() дает мне недействительную область в onDraw(), хотя в документации по Android это совсем не ясно. Этот прямоугольник также может быть (0,0,0,0), поэтому будьте осторожны при его использовании.

person antonio    schedule 07.09.2011
comment
Спасибо. Это то, что действительно требует дальнейшего обсуждения (и документации!!!). - person SMBiggs; 16.05.2012