騰訊優測-優社區乾貨精選 | 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怎麼辦?

如果Android程序某個操作執行等待超過5s,會出現ANR(Application Not Responding)的對話框,對於執行耗時的操作,譬如網絡操作,就不能在主線程上進行了(Android 4.4不讓你這樣做了),這些任務應該跑在主線程外,譬如新建一個線程處理,或者自己寫一個網絡引擎對所有網絡請求進行管理。

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


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