2014-05-14 3 views
0

스크린 샷에서 볼 수 있듯이 왼쪽의 ListView에서 축소판을 보여줍니다. 엄지 손가락은 비동기 적으로 생성됩니다. 어쨌든 각 행/항목에 대한 결과는 새로운 비트 맵입니다. 그 가장 좋은 방법인지여러 비트 맵 대 드로어 블 - 성능 및 메모리 영향

climbing wall management

는하지만 궁금하다. 이것은 매우 자주 배경 이미지 (등반 벽)가 동일하기 때문입니다. 따라서 각 행에 대해 동일한 배경 비트 맵으로 구성된 LayeredDrawable을 생성하고 Drawable (Canvas) 메서드에서 등산 경로를 그려주는 Drawable의 자체 구현을 생성 할 수 있습니다.

옵션 1 : 각 행/항목에 대해 새 비트 맵을 생성하십시오.

옵션 2 : 백그라운드 비트 맵 및 동적 드로어 블이있는 LayeredDrawable을 사용하십시오.

어떤 옵션이 메모리 및 CPU 사용량 측면에서 가장 좋습니까?

+0

메모리의 경우 옵션 # 2가 더 좋다고 가정합니다. CPU의 경우 옵션 # 1이 더 좋다고 가정 할 것입니다. 옵션 # 2가 모든 옵션 # 1에 여분의 그림을 더하는 것처럼 보이기 때문입니다. – CommonsWare

+0

필자는 메모리를 분석하고 각 축소판은 약 307.000 바이트를 할당하고 모든 라인 포인트를 포함한 단일 등산 루트 (라인)의 논리는 포인트 수에 따라 약 700 바이트를 할당합니다. 거대한 차이! – Matthias

답변

0

내 용도로는 LayerDrawable 내에서 사용자 지정 드로어 블과 BitmapDrawable을 사용하고 있습니다. 비트 맵이 배경이고 사용자 정의 드로어 블이 선을 그립니다. 그려진 선의 기본 데이터가 변경되면 다음 단계에서 드로어 블을 다시 그리도록 더티 플래그를 설정합니다.

관련 문제