騰訊優測-優社區乾貨精選 | android開發在路上:少去踩坑,多走捷徑(上)

文/騰訊公司 陳江峯

優測小優有話說:

    android開發的坑自然是不少,不想掉坑快來優測優社區~

最近一朋友提了幾個Android問題讓我幫忙寫個小分享,我覺得對新人還是挺有幫助的。於是在原基礎上針對我們的業務,對回答做了一些修改和補充。


1.目前, Android APP開發完成後,通常需要在哪些機型上進行測試?

2.目前,開發Android APP時,需要考慮的分辨率有哪些?


源自Google Play的數據,每月都會進行update,可以及時瞭解Android版本比例趨勢。


屏幕密度數據


也可以參考一下國內一個第三方數據


目前三星和小米市場佔有率是遙遙領先的,三星Note2、Note3、S3、S4、S5、小米123、紅米必須測試,魅族也比較坑爹,加入測試名單吧。再選中小屏幕各一款(譬如華爲C8650、Moto ME511)。

Android 1.5、1.6、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定製化測試-優管家】等多維度測試服務,深受用戶信賴。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章