2010-11-27 28 views
14

我目前正在試圖用我的Android應用程序支持更大範圍的設備。但是,即使閱讀了Android開發者指南在這個問題上所說的內容,我也不確定爲什麼我應該爲ldpi,mdpi和hdpi提供不同的圖形。Android:爲什麼要爲ldpi,mdpi和hdpi創建特定的圖像?

我知道圖像會自動縮放,所以我可以提供hdpi圖形,讓設備完成剩下的工作。如果設備使用它,縮放質量會降低嗎?這會是一個性能問題嗎?現在我更擔心APK的尺寸乘以三。

+0

您認爲os可以縮放和調整圖像大小,而不用拉伸它們?你認爲只需將圖像拉伸至兩倍大小就可以了? – Falmarri 2010-11-27 17:51:02

+4

不,我正在考慮讓他們縮小,而不是。 – forneo 2010-11-27 17:53:07

回答

5

我能想到的原因有兩個:

  1. 開發者的擔憂:把所有圖標版本在你的包占用空間和帶寬,縮放他們在飛行中消耗的CPU。沒有獎品可以猜測移動設備上哪個更便宜。 (我懷疑,儘管Android市場上的應用程序只會下載適用的資源 - 在這種情況下,您的用戶甚至不支付空間/帶寬稅)需要參考。設計師擔心:當您手動縮放圖標時,您可以(並且忠實的設計師會堅持)重新設計圖標,以便獲得比自動縮放更爲清晰的結果。請查看this page,詳細解釋爲什麼手動縮放圖標很好。 (他主要談論iPhone圖標,但也適用於Android圖標。)
2

我想你必須在性能和大小之間做出平衡的決定。如果您只提供一個hdpi圖形,操作系統自然不得不使用一些資源來縮小其分辨率較低的設備。但是,如果您同時提供hdpi,mdpi和ldpi圖形,則需要更多空間。

但是,在我看來,將APK大小乘以3的擔心並不太重要。首先,如果您以任何方式提供hdpi圖形,添加一個mdpi和ldpi圖形(兩者都小於hdpi圖形的大小(大約有3:4:6 scaling ratio))會增加大小,但遠不及三倍(更接近於雙)。其次,這些圖形並不構成APK的所有大小,因此,圖像數量的三倍也不會使APK大小增加三倍。最後,由於Android現在支持應用程序到SD,所以您的應用程序的大小不像在早期版本中那麼重要。

0

如果設備使用 ,縮放質量會降低嗎?

這是我會這樣做的一個原因。對於大多數圖像,我想像內置的縮放器將會很好。但是,大多數圖標(啓動器圖標,通知圖標)由於體積小而將非常像素。在這些情況下,手動製作較小的版本會比自動縮放更清晰。

0

原因是,如果你想在hdpi設備中顯示一些東西(每英寸更高的像素密度),你需要更多的像素來表示相同的視覺尺寸。

您可以讓操作系統縮放圖像,但它可能看起來很模糊。

相關問題