빠른 질문 - 내가있는 LinearLayout과 I 확장의 통제가 있어요는이안드로이드 드로잉 - 배경 캐싱
@Override protected void onDraw(Canvas canvas) { super.dispatchDraw(canvas); _background.draw(canvas); _object1.draw(canvas); _object2.draw(canvas); _object3.draw(canvas); // etc... }
모든 40ms가 나는 배경에 postInvalidate()를 호출하고 OnPaint를가 호출되는 등의 OnPaint 메소드의 오버라이드 (override)하고있어 UI 스레드. 문제는 _background.draw가 내 드로잉 시간의 80 % 이상을 차지한다는 것입니다.
그래서 배경을 캐시하고 매번 다시 그리지 않을 수 있습니까?
왜 40ms마다 무효화하고 있습니까? 물체가 배경을 가로 질러 움직이는 지 또는 물체 자체가 변하지 만 동일한 상대 위치에 머무르는가? – RickNotFred
개체가 움직이고 변화하고 있습니다 (움직이는 애니메이션) ... 서있는 순간이 있습니다.하지만 특별한 경우입니다 (시간의 10 % 미만) – kape123