文/騰訊公司 陳江峯android
優測小優有話說:數組
android開發的坑天然是很多,不想掉坑快來優測優社區~
6.Android APP開發中其它須要提醒的問題瀏覽器
android4.4在UI線程沒法進行網絡操做。
不單隻android API版本不必定致使運行異常,有些機型還使用Java 1.5進行編譯,使用某些Java 1.6的函數會Crash的。
注意OOM問題,目前android手機已經有3G內存了,但並不是一個應用就能使用所有內存。瞭解一下堆內存,一個軟件至少一個進程,一個進程跑一個虛擬機,進程使用的堆內存大小,每部手機不必定同樣。
Show Dialog的問題,永遠要判斷Activity是否還在。
使用了高版本的API函數,在低版本機器上掛了。
非UI線程不能操做UI。
可能有各類權限被禁的問題。
沒有瀏覽器、沒有軟件安裝器、沒有Email等發生ActivityNotFoundexception。
超快速連續點擊按鈕可能觸發跑多個線程的問題。
Android4.4短信權限設置,原生系統帶有新接口,第三方系統可能裁剪掉了。安全
7.什麼狀況下發生OOM,如何避免?網絡
圖片操做(圖片縮放、bitmap生成等)、序列化反序列化數據等會消耗大量內存。合理使用數據結構(鏈表和數組),及時釋放引用,使用弱引用等能下降OOM狀況發生。數據結構
8.出現ANR怎麼辦?app
若是Android程序某個操做執行等待超過5s,會出現ANR(Application Not Responding)的對話框,對於執行耗時的操做,譬如網絡操做,就不能在主線程上進行了(Android 4.4不讓你這樣作了),這些任務應該跑在主線程外,譬如新建一個線程處理,或者本身寫一個網絡引擎對全部網絡請求進行管理。ide
9.如何跟蹤研發質量?函數
Coverity接入(RDM能夠接入,還沒接入的同窗能夠找huanling):代碼缺陷掃描,不掃不知道,一掃嚇一跳。滿分推薦!
Crash是沒法避免的,咱們能作的是儘可能把Crash的狀況減小。發出去的版本,用戶發生Crash了,咱們須要把Crash數據收集起來。因此軟件須要作一個Crash上報,彙總整理。統計每一個版本的Crash率,並把Crash進行修復。工具
10.若是跟蹤用戶對產品的反饋?
無論你寫軟件所用的技術有多麼牛B,用戶是不知道的,也不關心的。用戶關心的是你的產品體驗到底有多牛B。加上用戶能夠輕鬆反饋的反饋功能,你會發現有時用戶的idea還不錯的。
作出來的產品好仍是很差,須要有產品數據支撐,因此加插相關數據統計上報點,哪一個功能熱門,新增用戶多少,活躍用戶多少,一目瞭然。
11.安全檢查
爲避免異常狀況的跳轉或者惡意攻擊,Android組件在啓動時都須要判斷傳入的參數是否爲空。
敏感信息須要進行權限限制或者加密處理。
能不暴露的組件就不暴露,在AndroidManifest中爲組件加android:exported=」false」屬性。
須要暴露的組件經過自定義權限進行調用,添加自定義權限android:permission=」yourapp.permission.CALL」
騰訊優測(utest.qq.com)是專業化的移動APP自動化測試工具,提供【兼容性測試】【雲手機】【漏洞檢測】【VIP定製化測試-優管家】等多維度測試服務,深受用戶信賴。