標籤:
昨天接到個電話面試,談談android開發中的最佳化問題,回答的不太如人意。現記錄如下:
1.使用布局檔案
比如:用ScrollView 、 ListView 和 Fragment ,注意 ScrollView和ListView嵌套使用的時候,會出問題,詳細看這篇文章:http://www.cnblogs.com/asijack/p/4282997.html
2、使用檔案夾
可以將,不同的圖片、字串、布局檔案、外形、顏色等這些資源,放在不同的檔案夾中
可以看到在400,600,800dp的檔案中沒有bools.xml,對於大螢幕而言,系統會自動的從高螢幕往低螢幕搜尋,比如一個裝置600dp的,如果values-sw600dp裡面沒有則會搜尋values-sw400dp裡面以此類推。備忘:600dp(600/160=3.75英寸) 160dp=1英寸。320dp=2英寸。dp=dip.
類似的還有很多用途
比如:你的xml布局用指定的系統目錄名稱來解決這個問題。
如:layout-sw360dp目錄可以匹配目標寬是360dp的機器。如果你也要支援橫豎屏布局切換的話,可以用如下目錄:
layout-sw360dp-land
layout-sw360dp-port
如果是多國語言,比如使用者是說阿拉伯語的?那就將布局名稱改為下面的樣子吧:
layout-sw360dp-land
layout-sw360dp-port
layout-sw360dp-land-ar
layout-sw360dp-port-ar
前兩個可以適用於所有語言,-ar代表阿拉伯語。
更多類似的列舉如下:
XXX //例子:沒有添加目錄名:預設-適用於Nexus One,Droid 2,S2
XXX-sw360dp // 比較大的手機 – Galaxy Nexus, S3, S4
XXX-sw600dp // 7〃 平板
XXX-sw720dp // 10” 平板
在Kindle裝置有些不同,如下:
XXX-large-mdpi // kindle fire 7〃
XXX-large-hdpi // kindle fire 7〃 HD
3、讓空白空間大於映像空間,讓映像空間大於按鈕的大小(在擴充的空間裡添加空白)。
4、盡量使用android studio工具吧,強大的UI編輯,還可以很方便的選擇不同的螢幕尺寸進行測試。
5、不要把所有的圖片都縮放了。在概念上比較簡單的方式就是建立一套完整的圖片目錄並將它們與很多drawable目錄匹配起來。
drawable-sw600dp-ldpi
drawable-sw600dp-mdpi
drawable-sw600dp-hdpi
drawable-sw600dp-xhdpi
drawable-sw600dp-xxhdpi
類似的。一般來說有drawble-ldpi, drawable-hdpi等目錄就足夠了,不需要將所有的情況都加上。
6、避免使用位元影像,比如:jpg,png(如果要用最好最佳化一下,PNGCrush或ImageOption)
7、用xml繪圖
8、多用9圖
9、盡量減少xml布局層次。
10、用Android Lint 。在工程目錄上右鍵選擇Eclipse>Android Tools>Run Lint
11、如果可以盡量使用RelativeLayout,可以減少視圖層次
android開發的最佳化問題