2012-07-23 1 views
1

다른 DPI가있는 이미지를 사용하는 것이 안드로이드에서 매우 일반적인 방법입니다. 그러나 나는 그것의 목적을 실제로 보지 못합니다. 왜 우리는 단지 거대한 엄청난 이미지를 사용하고 그것을 프로그램에서 스케일링 할 수 없습니까? 우리가 다른 DPI에서 이미지를 만들지 않으면 여분의 계산이 필요할 것입니다. 그러나 그 외에 다른 이유가 있습니까?Android : 다양한 픽셀 밀도의 이미지를 사용하고 싶습니까?

답변

6

팀 및 a.d. 너에게 맞는 논리가있어. 올바른 크기로 재조사되거나 그려지는 것의 비교를보고 싶다면 시각적 인 예가 있습니다. 매우 작은 세부 사항이있는 경우 효과는 항상 더 두드러집니다.

enter image description hereenter image description hereenter image description here

은 큰 200x200 크기 (우리 xhdpi 호출 것), 및 제 단순히 MDPI (75x75)에 대한 리샘플링 동일한 화상이다. 세 번째 버전은 75x75부터 시작하는 동일한 사양으로 다시 설계되었습니다. 보시다시피, 두 번째 텍스트가 크게 희미 해지고 모양의 가장자리에 재조합 된 일부 아티팩트가 있습니다.

2

화면 밀도에 최적화 된 이미지를 얻을 수 있습니다. xhdpi로 모두 남겨두면주의를 기울이지 않아 중요한 픽셀이 사라질 수 있음을 알아야합니다.

속도와 정확도에 신경 쓰지 않는다면 사람들이 중요한 픽셀을 놓치지 않는다고 생각한다면이 방법을 사용해도 좋습니다.

뿐만 아니라 이미지를 직접 조절할 경우 (예 : 무게를 사용하여) dpi 폴더에 넣을 필요가 없습니다.이 이미지를 drawable-nodpi 폴더에 넣을 수 있습니다.

1

각 주요 클래스의 화면 크기에 대해 이미 적절한 크기로 렌더링 된 이미지를 제공하면 코드에서 명시 적으로 스케일링을 수행하지 않아도되므로 "깨끗한"코드가됩니다.

또한 앱에서 수행해야하는 스케일링의 정확성에 따라 표시되는 각 이미지의 크기를 조정해야하는 데 따른 성능 저하를 피할 수 있습니다. 이러한 작업을 수행하지 않으면 성능이 크게 향상 될 수 있습니다 뷰가 사용자에게 표시 될 때 "즉시"표시됩니다.

마지막으로 각 크기에 맞게 적절하게 렌더링 된 이미지를 제공하면 리소스가 더 멋지게 보입니다. 시스템 확장은 완벽하지 않으며 이미지를 확장해야하는 경우 이미지의 "선명도"를 저하시킵니다. 그것들을 크게 확장해야한다면 이것은 사용자에게 눈에 띄게 될 것입니다.