
Android APP開(kāi)發完成後,通(tōng)常需要(yàoπβ)在哪些(xiē)機(jī)型上(shà₽♥•ng)進行(xíng)測試? 開(kāi)發Android AP♣₹P時(shí),需要(yào)考慮的(deφδΩ)分(fēn)辨率有(yǒu)哪些(xiē)?
目前華為(wèi)、三星和(hé)小(xiǎo)米市(shì)場(chǎngαα)占有(yǒu)率是(shì)遙遙領先的(de),華為(wèi)各機(jī)€Ω型、三星Note2、Note3、S3、S4、S5、小$±♠(xiǎo)米123、紅(hóng)米必須測試,魅族加入測試名單吧 ♦←×(ba)。再選中小(xiǎo)屏幕各一(yī)款(譬如(rú)華為•≤(wèi)C8650、Moto ME511)。
Android 1.5、1.6、2.0、2.1和(hé)小(xiǎ&♦≠δo)屏幕的(de)屬于古董級别的(de)機(jī)器(qì),市(shì)場<→$®(chǎng)存量也(yě)很(hěn)少(shǎo),新出的(de)©©®機(jī)器(qì)都(dōu)是(shì)4.0以上(shàng)的(dπ≤e)了(le),所以必要(yào)時(shí)需要(yà↕←εo)舍棄對(duì)古董的(de)支持,因為(wè ε>•i)适配成本很(hěn)高(gāo),對(duì)于新γ≠$開(kāi)發的(de)應用(yòng),這(zhè)個(gè)适配不(bβ₩±☆ù)值得(de)投入。
開(kāi)發Android APP時(sh♥£í),配置文(wén)件(jiàn)應放(fàng)在哪裡(l¥ǐ)(APP本地(dì)、遠(yuǎn)程WeB Serve ₩r中)?應該如(rú)何考慮?
這(zhè)個(gè)就(jiù)要(yào)看(kàn)需求了(l'λ e),如(rú)果隻是(shì)本機(jī)使用(yòng),β±譬如(rú)保存軟件(jiàn)設置,不(bù)需要(yào)聯網操作(zε >uò)的(de),那(nà)首選當然是(shì)保存在本地'≈(dì)。如(rú)果業(yè)務需要(yào)和(∑≠hé)服務器(qì)交互,可(kě)以做(zuò)成雲配置方式。γφΩ為(wèi)了(le)跨平台的(de)兼容性,可(kě)以考♦≈慮使用(yòng)Google的(de)Pr$↓otoBuf,比XML更小(xiǎo)更快(kuài)更簡單,後台₩δ和(hé)終端定義一(yī)套協議(yì),ππ ✘自(zì)動生(shēng)成C++、Jaβ©<✘va或者Python代碼。
Android APP測試方案通(tōng)常考慮哪≈φ些(xiē)因素?
機(jī)型适配:屏幕大(dà)小(xiǎo∞εγ),這(zhè)個(gè)可(kě)以找第三方TestBird做(zuò),®±同時(shí)測試幾百部機(jī)型;
Android版本:某些(xiē)API在低(dī)版本上(shàng)'σ沒有(yǒu)的(de),會(huì)Crasφ♠≠♣h,推薦Lint靜(jìng)态掃描;
網絡質量:聯通(tōng)、電(diàn)信、移動、♥♥←♣WiFi、弱網絡等;
安全性:網絡數(shù)據必定經過加密處理(lǐ);本地(dì)不(•↔♥bù)保存安全信息(帳号密碼等),或者加密保存;
代碼中敏感信息盡量使用(yòng)byte數(shù)組而不(b <"$ù)是(shì)字符串代碼混淆處理(lǐ)(Proguard);
SD卡剩餘空(kōng)間(jiān)很(hěn)少(shǎo),沒SD卡,雙✘♥SD卡,飛(fēi)行(xíng)模式,時(shí)間(jiān)有(y<✔ǒu)誤等。
性能(néng):CPU、內(nèi)存占用(yòng)(開(€©σkāi)發可(kě)以使用(yòng)Linux的(de)toλ™♥p命令或者DDMS裡(lǐ)面的(de)工(gō☆↓™ng)具)
Android APP開(kāi)發中其它需要(yào)提醒₽≤的(de)問(wèn)題
android4.4在UI線程無法進行(xínεεg)網絡操作(zuò)不(bù)單隻androidAPI版本不(bù)一(y&λ↑♦ī)定導緻運行(xíng)異常,有(yǒu)些(xiē)機(jī)型還(→€hái)使用(yòng)Java 1.5進行(xíng)編譯,使λ ↑用(yòng)某些(xiē)Java 1.6的(€÷←↑de)函數(shù)會(huì)Crash的(d★e)。
注意OOM問(wèn)題,目前android手機(j↔¶>ī)已經有(yǒu)3G內(nèi)存了(le),但↓✘(dàn)并非一(yī)個(gè)應用(yòng)就(jiù)能(né€ ∞ng)使用(yòng)全部內(nèi)存。了(le)解一(yī)下(π₽xià)堆內(nèi)存,一(yī)個(g ✘∏è)軟件(jiàn)至少(shǎo)一(yī)個(gè)進程,一(yī)個(gσ¶™↓è)進程跑一(yī)個(gè)虛拟機(jī),進程使用(yò≈≤ng)的(de)堆內(nèi)存大(dà)小(xiǎoβ♠¶),每部手機(jī)不(bù)一(yī)定一(yī)樣。
Show Dialog的(de)問(wèn)≥γ±∏題,永遠(yuǎn)要(yào)判斷Activity是(shì)否還(hái)"★在。
使用(yòng)了(le)高(gāo)版本的(de)A•β₩PI函數(shù),在低(dī)版本機(jī)器(qì)上β$ ¶(shàng)挂了(le)。
非UI線程不(bù)能(néng)操作(αφσzuò)UI。可(kě)能(néng)有(yǒu)各種權限被禁的(de)♦©問(wèn)題。
沒有(yǒu)浏覽器(qì)、沒有(yǒu)軟件(jiàn)安裝器(qì↕↕§§)、沒有(yǒu)Email等發生(shēng)Act∏© ÷ivityNotFoundexception$π♥。
超快(kuài)速連續點擊按鈕可(kě)能(néng)觸發跑多(duō)φ₹個(gè)線程的(de)問(wèn)題。
Android4.4短(duǎn)信權限設置,原生(shēng)系統帶¥γγ有(yǒu)新接口,第三方系統可(kě)能(n<☆®éng)裁剪掉了(le)。
什(shén)麽情況下(xià)發生(shēngα$)OOM,如(rú)何避免?
圖片操作(zuò)(圖片縮放(fàng)、bitmap生("α≥shēng)成等)、序列化(huà)反序列化(h≥<uà)數(shù)據等會(huì)消耗大(dà)量內(nèi)存。合理(l¶✘σ±ǐ)使用(yòng)數(shù)據結構(¶λ₽↓鏈表和(hé)數(shù)組),及時(shí)釋放(fàng)引用'$(yòng),使用(yòng)弱引用(yòng)等能(★®λnéng)降低(dī)OOM情況發生(shēng)'✔£δ。
出現(xiàn)ANR怎麽辦?
如(rú)果Android程序某個(gè)操作(zuò)執行(x§∞íng)等待超過5s,會(huì)出現( ✘•xiàn)ANR(Application N≤€αot Responding)的(de)對(duì)話(huà)框,對(♦₩ duì)于執行(xíng)耗時(shí)的(de)操作(zuò),譬如(₽ rú)網絡操作(zuò),就(jiù)不(bù)能(néng)©<在主線程上(shàng)進行(xíng)了(le)(An§σ¶↕droid 4.4不(bù)讓你(nǐ)這(zhè)樣做(zuò)了(≥→>le)),這(zhè)些(xiē)任務應該跑在主線程外(wài≥↓),譬如(rú)新建一(yī)個(gè)線程處理(lǐ),或者自(zì)己寫γ γ一(yī)個(gè)網絡引擎對(duì)所有(✘↕yǒu)網絡請(qǐng)求進行(xíng)管理(lǐ)。
如(rú)何跟蹤研發質量?
代碼缺陷掃描,不(bù)掃不(bù)知(zhī)道(dào),一(yī)掃吓λ↔ ×一(yī)跳(tiào)。滿分(fēn)推薦!Fro Free$₹!如(rú)果你(nǐ)寫的(de)是(shì)開(kāi)源代碼,還( Ωhái)能(néng)直接接入GitHub,超方便。Crash是(shì)無法"∞≠避免的(de),我們能(néng)做(zuò)的(de)是(s<¥ΩΩhì)盡量把Crash的(de)情況減少(shǎo)。™£發出去(qù)的(de)版本,用(yòng)戶發生(s↓↑↑hēng)Crash了(le),我們需要(yào)☆'"✘把Crash數(shù)據收集起來(lái)。所以軟₩•✘件(jiàn)需要(yào)做(zuò)一(yī)個♠φγ(gè)Crash上(shàng)報(b$$§δào),彙總整理(lǐ)。統計(jì)每個(gè)版∏ λ本的(de)Crash率,并把Crash按優先± 級進行(xíng)修複。
如(rú)果跟蹤用(yòng)戶對(duì)産品♠™ ≈的(de)反饋?
不(bù)管你(nǐ)寫軟件(jiàn)所用(yòng)的¶♣≤(de)技(jì)術(shù)有(yǒu)多(duō)麽牛B,用(yòng)戶→是(shì)不(bù)知(zhī)道(dào)的(de€$≈),也(yě)不(bù)關心的(de)。用(yòng)戶關心∑≠Ω的(de)是(shì)你(nǐ)的(de)産¥♥品體(tǐ)驗到(dào)底有(yǒu)多(duō)牛B。加上(shàng)用β (yòng)戶可(kě)以輕松反饋的(de)反饋←π£β功能(néng),你(nǐ)會(huì)發®§₩現(xiàn)有(yǒu)時(shí)用(≠✔yòng)戶的(de)idea還(hái)不(bù)錯δ(cuò)的(de)。做(zuò)出來(lái)的(•£∑αde)産品好(hǎo)還(hái)是(shì)不(bù)好(hǎ"§↔o),需要(yào)有(yǒu)産品數(shù)πδ"₽據支撐,所以加插相(xiàng)關數(s©→ hù)據統計(jì)上(shàng)報(bào)點,哪個(gè)功能(n±•₽éng)熱(rè)門(mén),新增用(yòng)戶多(duō)♣♠少(shǎo),活躍用(yòng)戶多(duō)₽÷"≤少(shǎo),一(yī)目了(le)然β 。
