日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > Android >内容正文

Android

【转】Android中对付ANR的N种武器

發(fā)布時(shí)間:2023/12/29 Android 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【转】Android中对付ANR的N种武器 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
轉(zhuǎn)自:http://hubingforever.blog.163.com/blog/static/17104057920126297441480/

以前做Android系統(tǒng)開發(fā),一般很少寫程序。現(xiàn)在到一公司做Android互聯(lián)網(wǎng)應(yīng)用,程序中不時(shí)出現(xiàn)一些ANR。
上峰對(duì)ANR非常的關(guān)注,期望我能徹底解決該項(xiàng)目的ANR。⊙﹏⊙b汗!
因此我對(duì)ANR進(jìn)行了些思考,并和剛從騰訊QQ項(xiàng)目組跳槽來公司北京總部的某架構(gòu)師同事進(jìn)行了探討。他也基本認(rèn)同我的觀點(diǎn)。
現(xiàn)將我應(yīng)對(duì)ANR的思路整理如下:
一、在項(xiàng)目之前,應(yīng)該確保工程師理解產(chǎn)生ANR的基本原理,Handler的基本原理,明白一些主要回調(diào)函數(shù)的執(zhí)行線程。如果工程師還沒達(dá)到這些要求,應(yīng)該通過培訓(xùn)等方式盡量讓工程師了解這些知識(shí)。
關(guān)于這些技術(shù)的知識(shí)可參考《關(guān)于ANR的官方建議》和《Android線程模型》和《Looper和Handler》
二、如果程序在初始化階段較耗時(shí),考慮顯示一splash屏或者盡快讓主視圖快速顯示處理,然后才顯示其他的視圖。不管是哪一種情況,應(yīng)該設(shè)法表明程序正在往前執(zhí)行,以免用戶覺得應(yīng)用凍結(jié)了。
三、在進(jìn)行架構(gòu)設(shè)計(jì)時(shí),架構(gòu)師應(yīng)該盡量采用MVC架構(gòu),另外一定要清楚那些代碼應(yīng)該是在主線程中執(zhí)行,那些代碼應(yīng)該是在非主線程中執(zhí)行。當(dāng)然要做好框架也不容易啊!⊙﹏⊙b汗!
四、對(duì)于已處于項(xiàng)目中后期,而沒有采用MVC框架,或者采用了MVC框架但其實(shí)現(xiàn)并不太好的項(xiàng)目,應(yīng)該畫出其整體框架圖,時(shí)序圖等進(jìn)行分析,盡量采用較小的代價(jià),逐步迭代的方式讓其項(xiàng)目最后達(dá)到良好的MVC架構(gòu)。對(duì)于我們的當(dāng)前項(xiàng)目,我正試圖使用該方式來最大程度的避免ANR。也不知道最后能不能達(dá)到很好的效果。
五、在進(jìn)行編碼時(shí),工程師一定要考慮當(dāng)前代碼死否在主線程中執(zhí)行;當(dāng)前代碼是否是耗時(shí)操作;
線程對(duì)鎖的競(jìng)爭(zhēng)是否可能造成代碼的等待,而耗時(shí)太多;代碼是否可能造成死鎖,而產(chǎn)生ANR。
六、如果應(yīng)用程序中使用了第三方的應(yīng)用程序,請(qǐng)把這些第三方的應(yīng)用程序做為單獨(dú)的進(jìn)程來處理,以避免它的不良代碼而造成本項(xiàng)目出現(xiàn)ANR。關(guān)于此技術(shù)請(qǐng)參考《Android中單APK應(yīng)用多進(jìn)程》
七、在程序運(yùn)行時(shí),出現(xiàn)了ANR,工程師應(yīng)該通過/data/anr/traces.txt并結(jié)合代碼,進(jìn)行ANR的分析。
八、在項(xiàng)目中后期,你可以使用 StrictMode 來幫助你在主線程中查找潛在的耗時(shí)操作,比如對(duì)網(wǎng)絡(luò)或數(shù)據(jù)庫操作。
九、在項(xiàng)目后期,應(yīng)該通過monkey等來進(jìn)行壓力測(cè)試,找出潛在的ANR,并進(jìn)行修改。
關(guān)于monkey的使用請(qǐng)參考《Android的monkey用法》
十、對(duì)于一些重要的ANR及不良代碼,要進(jìn)行歸納和總結(jié),形成文檔,以便分享給其他的同事或項(xiàng)目組,并作為新員工的培訓(xùn)資料。
總結(jié)
每當(dāng)產(chǎn)生ANR我們可以根據(jù)/data/anr/traces.txt分析解決,但這個(gè)頑疾很難從根本上解決,只有通過引入好的框架(比如MVC框架),提升開發(fā)工程師認(rèn)知,技術(shù)積累去避免。

總結(jié)

以上是生活随笔為你收集整理的【转】Android中对付ANR的N种武器的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 岛国精品在线观看 | 97视频一区 | 国产精品一区二区网站 | 久久久久久久久久久久97 | 全部免费毛片在线播放一个 | 国产中文字幕乱人伦在线观看 | 天天视频天天爽 | 深夜视频一区二区 | 综合久久五月 | 在线免费| 性生生活大片又黄又 | 国产成人片 | 亚洲无人区码一码二码三码 | 麻豆69xxnxxporn | av自拍网 | 成人午夜免费网站 | 国产精品国产三级国产专播精品人 | 亚洲啪av永久无码精品放毛片 | 国产乱子伦精品无码专区 | 日韩av影片在线观看 | 视频区小说区 | 手机av在线看 | 国产视频在线看 | 色婷婷久久久亚洲一区二区三区 | 久久水蜜桃 | gav在线 | 麻豆av片 | 日韩精品一区二区三区视频在线观看 | 中文字幕av一区二区 | 欧美成人精品激情在线视频 | 夜夜撸av | 亚洲欧洲国产视频 | 精品久久久久久久久久久国产字幕 | 久久国色| 亚洲一级二级三级 | 成人免费网站在线观看 | 国产微拍一区 | 日本伦理一区二区 | 欧美人与动物xxxx | 国产精品亚洲一区二区 | www.久久.com | 四川话毛片少妇免费看 | 亚洲伦理中文字幕 | 天天弄| 超碰超碰超碰超碰超碰 | 日本黄在线观看 | 波多野结衣av在线免费观看 | 国产男女无遮挡猛进猛出 | 秋霞伦理一区二区 | 麻豆av一区二区 | 国产一区在线免费 | 成年人拍拍视频 | 大地资源中文第三页 | 日本亚洲欧美 | 成年男女免费视频网站 | 国产私人影院 | 天天摸天天干天天操 | 中文字幕一区二区三三 | 巨胸大乳www视频免费观看 | 婷婷九九 | 日本波多野结衣在线 | 我爱我色成人网 | 国久久 | 人人澡澡人人 | 国产一区二区免费 | 久久久精品人妻一区二区三区色秀 | 欧美天堂在线观看 | av在线www | 伊人艹 | 啪啪福利| 国产a级免费 | 天天干天天看 | a人片 | 一区二区三区免费在线观看 | 北条麻妃一区二区三区 | 国产亚洲精品精品精品 | 欧美成人精品欧美一级私黄 | 精品无码久久久久久国产 | 黄色网址你懂得 | 天天拍天天干 | 污视频网站在线看 | 蜜桃av噜噜一区二区三区网址 | 国产精品久久久久久精 | 亚洲AV乱码国产精品观看麻豆 | 成人av播放| 中文字幕第9页 | 自拍偷在线精品自拍偷无码专区 | 欧美图片自拍偷拍 | 国产又黄又嫩又滑又白 | 国产精品成人av性教育 | 天堂网ww| 青青草成人在线 | 国产美女诱惑 | 亚洲美女爱爱 | 男人的天堂黄色 | 丁香花五月 | 欧美片在线观看 | 久久婷婷五月国产色综合激情 | 麻豆传谋在线观看免费mv |