日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

人們討厭應(yīng)用程序崩潰,尤其是是程序減速或卡死幾秒鐘這樣的現(xiàn)象。 根據(jù)Dimensional Research的一項(xiàng)調(diào)查,61%的用戶希望程序在4秒內(nèi)啟動(dòng),而49%的用戶希望在2秒內(nèi)響應(yīng)輸入。 如果應(yīng)用發(fā)生崩潰,凍結(jié)或報(bào)錯(cuò)等現(xiàn)象,53%的用戶會(huì)將App卸載。

我們分析了100個(gè)移動(dòng)應(yīng)用程序,發(fā)現(xiàn)了App崩潰的6個(gè)常見原因!

無論您的對(duì)象是消費(fèi)者還是企業(yè),崩潰問題會(huì)令他們徹底失望。與一些移動(dòng)開發(fā)人員進(jìn)行了交談,詢問了他們遇到的最常見的崩潰問題有哪些, 他們給出了常見的六種原因:

1.內(nèi)存管理

我所問道的每個(gè)人都會(huì)談到內(nèi)存管理,大多數(shù)APP都會(huì)開啟許多線程占用系統(tǒng)的內(nèi)存。OpsClarity營銷副總裁Sachin Agarwal表示,程序員在編寫代碼時(shí)好像在app中只有他們編寫的應(yīng)用一樣,同時(shí),他建議在編寫程序時(shí),要考慮使其稱為為"應(yīng)用生態(tài)系統(tǒng)中的好公民"。

內(nèi)存問題并非對(duì)所有開發(fā)人員是一樣的。Solstice Mobile業(yè)務(wù)開發(fā)副總裁Andrew Whiting說"在IOS中,您就可以利用Objective-C來處理大量內(nèi)存問題,"。但是需要權(quán)衡利弊。"在Android上,你需要更深入的控制[內(nèi)存],你可以讓它完全按你想要的那樣做,但這會(huì)增加復(fù)雜性。"

"在JAVA中遇到[運(yùn)行]內(nèi)存不足,我們發(fā)現(xiàn)通常它與加載大圖像或處理位圖等相關(guān),"New Relic的高級(jí)軟件工程經(jīng)理Jonathan Karon表示。在移動(dòng)SDK技術(shù)性能報(bào)告中并編制了常見的問題原因。"實(shí)際上有一些令人驚訝的數(shù)字看起來像Android上的鏈接器問題,無法找到類,或者有一個(gè)稱為非分類鏈接的異常。" 另一方面,iOS應(yīng)用程序經(jīng)常受到NSInternalInconsistency異常的影響,這是因?yàn)楫?dāng)開發(fā)人員在一個(gè)地方更改數(shù)組或數(shù)據(jù)集合時(shí),而其他東西正在讀取那里的事物列表。

2.軟件生命周期

迭代的應(yīng)用程序開發(fā)過程及其版本頻繁的發(fā)布,為最小化可行產(chǎn)品進(jìn)入市場(chǎng)打開了大門,然后隨著時(shí)間的推移改進(jìn)它,現(xiàn)在這種做法非常流行。但由于對(duì)操作系統(tǒng)和第三方API的依賴性,使傳統(tǒng)軟件生命周期變的更為復(fù)雜。

"如果你看看最新Android更新的系統(tǒng),應(yīng)用程序崩潰的會(huì)很多,"Agarwal說。"操作系統(tǒng)本身不穩(wěn)定或操作系統(tǒng)更新了,應(yīng)用程序沒有更新" 或者用戶不下載新的版本,這些"你都無法控制,它說明了一個(gè)核心的開發(fā)過程。"

移動(dòng)和云計(jì)算的發(fā)展增加了第三方服務(wù)及其相關(guān)API的使用,從而節(jié)省了時(shí)間并有助于將應(yīng)用程序更快地推向市場(chǎng),但他們有自己的一系列問題。

"許多庫是都有共同的問題,"Whiting說。 "他們?cè)噲D解決每個(gè)人的問題,而不是為任何人提供最佳解決方案。" 例如,給定的API可能對(duì)特定應(yīng)用程序具有性能限制。

API也可能使用棘手的技術(shù),比如iOS方法調(diào)整。當(dāng)原始代碼(如Apple的API)不可用時(shí),開發(fā)人員在原始代碼(如Apple的API)基礎(chǔ)之上進(jìn)行修改。"你可以稱之為iOS應(yīng)用程序開發(fā)的'黑暗藝術(shù)'之一,"在線旅行社Fareportal的移動(dòng)主管Raman Bhatia說。"[但]如果您的應(yīng)用程序代碼以某種方式編寫,則可能導(dǎo)致崩潰。"

API也可能引起其他問題。"API延遲,錯(cuò)誤率,數(shù)據(jù)帶寬, API的版本以及API請(qǐng)求的數(shù)量都可能由小問題印發(fā)大問題,"Agarwal說。然后是API本身,這就需要專門的工具來跟蹤所有內(nèi)容。

API也可能導(dǎo)致其他問題,如內(nèi)存錯(cuò)誤。 "如果你創(chuàng)造了其他的對(duì)象前已經(jīng)從內(nèi)存中移除的一個(gè)對(duì)象,會(huì)認(rèn)為通常這是沒有問題的,但需要注意的是你不知道后續(xù)創(chuàng)建的對(duì)象到底需不需要引用已經(jīng)刪除的對(duì)象"聯(lián)合創(chuàng)始人和開發(fā)者Long Le說道"尤其是當(dāng)你引入第三方框架時(shí),就會(huì)出現(xiàn)問題。你永遠(yuǎn)無法確定他們正在清理什么以及他們正在創(chuàng)造什么。"

3.測(cè)試不充分

測(cè)試的需求是很明顯的,但是需要獲得足夠的覆蓋率,特別是對(duì)于大量的Android版本和設(shè)備,可能具有挑戰(zhàn)性。雖然有模擬器,但在服務(wù)器上運(yùn)行的軟件性能限制可能會(huì)與真機(jī)不同。

例如,應(yīng)用程序的一個(gè)線程讀取數(shù)據(jù)庫,同時(shí)第二個(gè)線程嘗試修改這一個(gè)數(shù)據(jù)庫,"這是一個(gè)時(shí)間問題," Couchbase移動(dòng)首席架構(gòu)師Wayne Carter說。"如果他們沒有在同一時(shí)刻發(fā)生碰撞,那么這個(gè)問題就不會(huì)出現(xiàn),可以用日志描述來掩蓋。" 模擬器通常就不會(huì)和真機(jī)一樣。

在不同的設(shè)備上運(yùn)行不同的系統(tǒng)是個(gè)可行的方案,但是這種方法比模擬器消費(fèi)高。這就需要在預(yù)算和需求之間權(quán)衡

測(cè)試應(yīng)結(jié)合行業(yè)標(biāo)準(zhǔn)和用戶期望的基準(zhǔn)測(cè)試,以確保開發(fā)人員和用戶可接受的內(nèi)容。測(cè)試也應(yīng)該持續(xù)進(jìn)行。監(jiān)控性能并查找用戶反饋,然后盡快解決問題。

4.網(wǎng)絡(luò)管理

隨著應(yīng)用程序越來越依賴網(wǎng)絡(luò),無論是數(shù)據(jù)還是第三方服務(wù),網(wǎng)絡(luò)管理已成為一個(gè)麻煩的源頭。

發(fā)生崩潰的最主要原因是當(dāng)你正要獲取數(shù)據(jù)、提交了一些東西等待恢復(fù)而APP發(fā)生響應(yīng)或者掛起。運(yùn)營副總裁Pravin Vazirani說道,可能開發(fā)人員使Wi-Fi連接功能非常完善,但用戶在不好的網(wǎng)絡(luò)區(qū)域時(shí)就會(huì)發(fā)生問題

處理網(wǎng)絡(luò)問題的一個(gè)好方法是告知用戶連接中斷,并在可能的情況下提供執(zhí)行可能感興趣的其他操作的機(jī)會(huì)。如果人們了解超出應(yīng)用程序控制范圍的臨時(shí)狀況的原因,他們更有可能保持冷靜,不會(huì)對(duì)軟件感到惱火。

5.錯(cuò)誤狀況和異常處理

由于移動(dòng)開發(fā)的復(fù)雜性,一些錯(cuò)誤是不可避免的,無論是意外的API更改,避免先前檢測(cè)的內(nèi)存問題,還是網(wǎng)絡(luò)連接狀況,甚至只是在傳輸大型文件(如圖像或視頻)時(shí)降低數(shù)據(jù)傳輸?shù)乃俣?/p>

在這種情況下,最好的方法是給與良好的錯(cuò)誤和異常處理方式。比如用戶輸入錯(cuò)誤的數(shù)據(jù)、本應(yīng)提供數(shù)值的內(nèi)容而提供文字到文本框內(nèi)等,這樣,應(yīng)用程序就不會(huì)被意外嘗試而報(bào)錯(cuò)。

在任何這些情況下,正確編碼的應(yīng)用程序都會(huì)注意到意外情況,并且在通知用戶錯(cuò)誤的同時(shí),可以優(yōu)雅地終止進(jìn)程或活動(dòng)。如果你能保持溝通渠道暢通,就會(huì)有更好的機(jī)會(huì)留住用戶。

6.代碼太多了

最好的建議是保持應(yīng)用程序簡單。找到特定用途的插件,使用插件并編寫必要的代碼。企業(yè)移動(dòng)開發(fā)公司Lextech Global Services的高級(jí)系統(tǒng)工程師Felipe Laso-Marsetti說:"最好和最無錯(cuò)誤的代碼是不是你自己編寫的代碼。"

你能否真正的創(chuàng)建一個(gè)無錯(cuò)誤的應(yīng)用程序,特別是在第一輪?可能不是。但是,您可以關(guān)注這些故障源,并盡最大努力創(chuàng)建強(qiáng)大的異常處理機(jī)制。
 

分享到:
標(biāo)簽:App
用戶無頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績?cè)u(píng)定