2013-10-08 80 views
3

我有一個Android應用程序,每個屏幕分辨率包含約150個圖標。何時在運行時生成圖標?

如果我把所有的圖標都5個主要決議(LDPI,MDPI,華電國際,xhdpi,xxhdpi),那麼它將使圖標總數達到750 這有幾個缺點:

  • Big APK大小
  • 使用dexguard和ant構建腳本時生成緩慢的過程。它 對需要一些時間的圖像進行一些處理。

另外,我可以把圖標只在一些決議。例如,ldpi設備只有10% of the market now,而在Android官方文檔中,他們說Android可以有效地將hdpi圖標的50%縮小到ldpi。

現在,如果我選擇採用這種方式而不提供ldpi圖標,那麼在Android設備上運行時將圖標從hdpi調整爲ldpi會有什麼影響?如果需要調整150個圖標,可能需要一些時間,特別是因爲ldpi設備可能CPU速度較慢。 Android設備上的調整大小發生在哪個階段:安裝時?首次應用推出時間?在每次發佈?

謝謝您的建議!

+0

是用於列表視圖圖像或用於佈局圖像的圖標? – Basbous

+0

我問自己同樣的問題一段時間。感謝您的詢問。我會看看其他人的建議。每次我的結論都是關於ldpi文件夾的低內存佔用情況。我終於把它每一次。關於緩慢的構建過程。不要把它們放在開發過程中。 – HoodVinci

+0

@佈局圖片用於佈局圖片 – muslidrikk

回答

0

當您反編譯Google自己的APK時,他們一次都沒有使用ldpi。而且他們僅將xxhdpi用於應用程序的啓動器圖標。特別是xxhdpi圖標使APK尺寸更大。

在每次啓動時可能會在運行時完成圖標的大小調整。

+0

感謝有關Google APK的信息。我想我最終也會這樣做。 – muslidrikk

+0

我剛剛反編譯了最新的Google Maps APK,並且根本沒有xxhdpi。並且在ldpi文件夾中只有一個png圖像可能根本不會被使用。 – tasomaniac

+1

即使羅馬努裏克說,不要擔心ldpi在這裏http://www.youtube.com/watch?v=zhszwkcay2A – tasomaniac

0

如果在佈局中使用圖像,則可以使用xxhdpi圖像,然後可以在運行時生成xhdpi,hdpi,mdpi和ldpi。

  1. 從xxhdpi獲取圖像。
  2. 將其縮放到所需的分辨率。
  3. 在您的佈局中使用它。
  4. 將其寫入磁盤。

嘗試this在運行時生成縮略圖。

0

Android將很好地縮放您的drawables至多2個密度桶的差異。它看起來像廢話,如果你嘗試做超過2桶(即超過2倍)。所以你應該提供每三桶 - 目前只有xxxhdpi和hdpi。

*除非您的繪圖中有像素藝術(但不這樣做),其中雙線性插值將不被接受。那麼你應該選擇一個最小支持的桶,並提供以上的所有內容。