2016-06-24 4 views
-2

크기가 픽셀 단위로 표시되는 40 개의 맞춤형 ImageView (프로그래밍 방식으로 내 레이아웃에 추가됨)가 있습니다. myCustomView.setImageBitmap을 호출하거나 onDraw를 재정의하고 비트 맵을 캔버스에 그리는 것이 더 좋습니까? 이러한 모든보기는 클릭, 끌기 및/또는 놓기 만 할 수 있습니다. 다른 조작은 허용되지 않습니다.Android ImageView setImageBitmap 또는 캔버스에서 비트 맵을 그립니다.

답변

0

복잡하고 복잡한보기 (예 : 아래 이미지 및 텍스트)를 만들거나 이미지에 원으로 나타나려면 onDraw를 사용해야합니다. 그러나 하나의 이미지 만 표시하려면 setImageBitmap을 사용하면 훨씬 쉽습니다. 답변은 다음과 같습니다. 해결책은 필요에 따라 다르며 복잡성을 유발합니다.

+0

감사합니다. @ vanste25. 비트 맵을 그리는 것이 메모리 사용량 측면에서 setImageBitmap보다 저렴하면 이해할 수 있습니다. setImageBitmap (심지어 UniversalImageLoader를 사용하여) 많은 OutOfMemoryError를 유도하므로 비트 맵 그리기가 "더 가벼운"작업인지 궁금합니다. – javaman

+0

얼마나 자주 무효화를 호출하는지에 따라 다릅니다. 여러 번한다면 성능이 떨어질 것입니다. 또한 onDraw 실행 중에 메모리를 할당하지 마십시오. 비트 맵을 표시하기에 최적화되어 있으므로 setImageBitmap을 사용해야한다고 생각합니다. 그것이 자연 행동입니다. – vanste25

+0

그리고 setImageBitmap은 어떻습니까? OutOfMemoryError도 발생합니까? – vanste25

관련 문제