Быстрого вопрос - я имею контроль, который простирающуюся LinearLayout и я переопределение этого OnPaint метод как этотAndroid рисунка - Фон кэширование
@Override protected void onDraw(Canvas canvas) { super.dispatchDraw(canvas); _background.draw(canvas); _object1.draw(canvas); _object2.draw(canvas); _object3.draw(canvas); // etc... }
Каждые 40 мс Призывает postInvalidate() в фоновом режиме и OnPaint вызывается на Пользовательский интерфейс. Проблема заключается в том, что _background.draw занимает более 80% времени моего рисования.
Итак - возможно ли как-то кешировать фон, а не перерисовывать его каждый раз?
Почему вы признаете недействительным каждые 40 мс? Объекты движутся по фону или сами объекты меняются, но остаются в одном и том же относительном положении? – RickNotFred
Объекты движутся и меняются (движущаяся анимация) ... есть моменты, когда они стоят, но это особый случай (<10% времени) – kape123