文/騰訊公司 陳江峯
優測小優有話說:android
android開發的坑天然是很多,不想掉坑快來優測優社區~
最近一朋友提了幾個Android問題讓我幫忙寫個小分享,我以爲對新人仍是挺有幫助的。因而在原基礎上針對咱們的業務,對回答作了一些修改和補充。數組
1.目前, Android APP開發完成後,一般須要在哪些機型上進行測試?
2.目前,開發Android APP時,須要考慮的分辨率有哪些?安全
源自Google Play的數據,每個月都會進行update,能夠及時瞭解Android版本比例趨勢。服務器
屏幕密度數據網絡
也能夠參考一下國內一個第三方數據函數
目前三星和小米市場佔有率是遙遙領先的,三星Note二、Note三、S三、S四、S五、小米12三、紅米必須測試,魅族也比較坑爹,加入測試名單吧。再選中小屏幕各一款(譬如華爲C8650、Moto ME511)。
Android 1.五、1.六、2.0、2.1和小屏幕的屬於古董級別的機器,市場存量也不多,新出的機器都是4.0以上的了,因此必要時須要捨棄對古董的支持,由於適配成本很高,對於新開發的應用,這個適配不值得投入。工具
3.目前,開發Android APP時,適應多個分辨率的技術方案有哪些?性能
Android的屏幕適配,能夠在工程res目錄下進行處理,無需寫代碼,Android自動找最適合的資源進行顯示,相信你們都至關熟悉的了。
目前我使用的是ADT22.6,新建一個Android工程,會自動在res目錄下生成這個目錄結構。
這裏有5個前綴drawable的文件夾,對應不一樣密度屏幕時所取的圖片資源或者樣式。測試
雖然不做任何改動也能夠在Android Pad上跑,但因爲Pad屏幕較大,操做體驗不同,建議從新設計。加密
4.開發Android APP時,配置文件應放在哪裏(APP本地、遠程WeB Server中)?應該如何考慮?
這個就要看需求了,若是隻是本機使用,譬如保存軟件設置,不須要聯網操做的,那首選固然是保存在本地。
若是業務須要和服務器交互,能夠作成雲配置方式。爲了跨平臺的兼容性,能夠考慮使用Google的ProtoBuf,比XML更小更快更簡單,後臺和終端定義一套協議,自動生成C++、Java或者Python代碼。
小坑提示:
UniPacket的getByClass(String,T);
若是T是一個數組,那必須add一個元素進去,而且結果是從函數返回,並不是給T的。
上面看似沒問題,我被坑過一次,國際版的同事也遇過幾回這樣的問題,你們注意注意。
5.Android APP測試方案一般考慮哪些因素?有測試方案的參考實例嗎?
機型適配:
屏幕大小,這個只能人工檢驗了(程序不知道你的UI長得好很差看)
Android版本(某些API在低版本上沒有的,會Crash,推薦Lint靜態掃描)
網絡質量:
聯通、電信、移動、WiFi、弱網絡等
安全性:
網絡數據一定通過加密處理
本地不保存安全信息(賬號密碼等),或者加密保存
代碼中敏感信息儘可能使用byte數組而不是字符串
代碼混淆處理(Proguard)
邊界(極限)狀況:
SD卡剩餘空間不多,沒SD卡,雙SD卡,飛行模式,時間有誤等。
性能:
CPU、內存佔用(開發可使用Linux的top命令或者DDMS裏面的工具)
網絡流量消耗(有各類第三方流量監控軟件)
騰訊優測(utest.qq.com)是專業化的移動APP自動化測試工具,提供【兼容性測試】【雲手機】【漏洞檢測】【VIP定製化測試-優管家】等多維度測試服務,深受用戶信賴。