2012年2月9日 星期四

Android如何找到最適合的資源檔

參考官方的說明:How Android Finds the Best-matching Resource


1. 消除和設備設定不符合的資源資料夾(qualifier),例如語言設定為en,就會把 fr-rCA消除掉
    drawable/
  drawable-en/
  drawable-fr-rCA/
  drawable-en-port/
  drawable-en-notouch-12key/
  drawable-port-ldpi/
  drawable-port-notouch-12key/

  例外:螢幕解析度在這個階段是唯一衝突但是不會刪的資源資料夾,例如device是hdpi但是ldpi還是會留著 。(想瞭解更多請參考Supporting Multiple Screens)

2.選擇下一個最高順位的qualifier
(最高是 MCC,MNC,Language...) 請參考這個table的順位 
3.有沒有符合的資料夾,沒有就回到上一步直到找到。
4.消除掉沒有最高順位qualifier的資源資料夾,例如:把沒有語言qualifier的資料夾都消掉。
  drawable/
  drawable-en/
  drawable-en-port/
  drawable-en-notouch-12key/
  drawable-port-ldpi/
  drawable-port-notouch-12key/
  例外:如果qualifier和螢幕解析度有不符合的狀況,Android會自動選擇最符合設備螢幕密度的qualifier,一般來說andorid會選擇把高解析度的圖檔給縮小,而不是把低解析度的讀檔給放大。
5.再回到2,直到刪到只剩下一個資源資料夾。





沒有留言:

張貼留言