色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

在軟件開(kāi)發(fā)中怎么樣去避免ANR?

Dbwd_Imgtec ? 來(lái)源:未知 ? 作者:工程師郭婷 ? 2018-07-31 09:31 ? 次閱讀

一:什么是ANR

如果應(yīng)用程序不能響應(yīng)用戶的輸入了,那么就可以說(shuō)應(yīng)用ANR了。

如果需要運(yùn)行一個(gè)耗時(shí)較長(zhǎng)的操作的時(shí)候,不要把這個(gè)任務(wù)放在UI線程上運(yùn)行,而是單獨(dú)創(chuàng)建一個(gè)線程運(yùn)行那些操作。

以下情況會(huì)出現(xiàn)ANR提示對(duì)話框:

5秒內(nèi)對(duì)一個(gè)輸入動(dòng)作沒(méi)有反應(yīng)。

一個(gè)BroadcastReceiver在10秒內(nèi)沒(méi)有完成運(yùn)行。

二:如何避免ANR

activity的關(guān)鍵的生命周期方法: onCreate 和 onResume方法上盡可能處理越少越好的事情。

下面列舉的操作都是長(zhǎng)時(shí)間運(yùn)行的:網(wǎng)絡(luò)工作、數(shù)據(jù)庫(kù)操作、精確的計(jì)算,例如重新定制圖片(應(yīng)該在單獨(dú)的工作線程中)、或者通過(guò)異步請(qǐng)求操作數(shù)據(jù)庫(kù)的情況下。

最有效的創(chuàng)建一個(gè)工作線程來(lái)執(zhí)行長(zhǎng)時(shí)間操作的是Asynctask類。如果你非要自己創(chuàng)建一個(gè)自己的Thread或者HandlerThread類,你應(yīng)該設(shè)置這個(gè)類的屬性為"background",通過(guò)調(diào)用Process.setThreadPriority() ,填上THREAD_PRIORITY_BACKGROUND參數(shù)。如果你不設(shè)置低優(yōu)先級(jí),那么你的線程仍然有可能減慢你的應(yīng)用,因?yàn)樗J(rèn)運(yùn)行的優(yōu)先級(jí)和你的UI線程的優(yōu)先級(jí)一樣。當(dāng)你實(shí)現(xiàn)Thread或HandlerThread方法的時(shí)候,確定你的UI線程不會(huì)在等待工作線程結(jié)束的過(guò)程中被阻塞,不要調(diào)用Thread.wait()或者 Thread.sleep()。你的應(yīng)用主線程不應(yīng)該因?yàn)榈却泳€程完成而阻塞,而是應(yīng)該提供一個(gè)Handler去接受其他線程完成后的結(jié)果。這樣設(shè)計(jì)你的應(yīng)用可以保證你的應(yīng)用仍然能夠響應(yīng)用戶的輸入,避免ANR。

接受BroadcastReciver的執(zhí)行時(shí)間,約束它的執(zhí)行時(shí)間,主要進(jìn)行的操作是保存設(shè)置或者注冊(cè)一個(gè)通知,這樣的話,才能夠避免當(dāng)其他方法調(diào)用UI線程的時(shí)候,應(yīng)用程序在執(zhí)行長(zhǎng)耗時(shí)的方法。

如果非要在接收Broadcast后執(zhí)行長(zhǎng)時(shí)間的操作,可以啟動(dòng)一個(gè)IntentService來(lái)執(zhí)行。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • anr
    anr
    +關(guān)注

    關(guān)注

    0

    文章

    3

    瀏覽量

    2136

原文標(biāo)題:Android開(kāi)發(fā)之如何避免ANR(Keeping Your App Responsive)

文章出處:【微信號(hào):Imgtec,微信公眾號(hào):Imagination Tech】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    嵌入式軟件開(kāi)發(fā)的程序架構(gòu)

    嵌入式軟件開(kāi)發(fā),包括單片機(jī)開(kāi)發(fā)軟件架構(gòu)對(duì)于開(kāi)發(fā)人員是一個(gè)必須認(rèn)真考慮的問(wèn)題。
    發(fā)表于 02-02 06:58

    教你怎樣提高STM32軟件開(kāi)發(fā)效率

    教你怎樣提高STM32軟件開(kāi)發(fā)效率
    發(fā)表于 02-21 07:22

    可視化語(yǔ)言技術(shù)軟件開(kāi)發(fā)的應(yīng)用

    可視化語(yǔ)言技術(shù)軟件開(kāi)發(fā)的應(yīng)用:可視化語(yǔ)言技術(shù)比一維文本語(yǔ)言描述軟件組成方面具有優(yōu)越性.由于圖表和圖形概念在系統(tǒng)建模
    發(fā)表于 10-31 09:02 ?5次下載

    ARM嵌入式軟件開(kāi)發(fā)

    ARM嵌入式軟件開(kāi)發(fā)ARM嵌入式軟件開(kāi)發(fā)ARM嵌入式軟件開(kāi)發(fā)
    發(fā)表于 01-15 17:29 ?65次下載

    面向?qū)ο蠓椒?b class='flag-5'>在汽車排放測(cè)試系統(tǒng)軟件開(kāi)發(fā)的應(yīng)用

    面向?qū)ο蠓椒?b class='flag-5'>在汽車排放測(cè)試系統(tǒng)軟件開(kāi)發(fā)的應(yīng)用
    發(fā)表于 01-22 13:38 ?12次下載

    基于嵌入式軟件開(kāi)發(fā)構(gòu)件技術(shù)的研究

    基于嵌入式軟件開(kāi)發(fā)構(gòu)件技術(shù)的研究
    發(fā)表于 10-30 15:36 ?6次下載
    基于嵌入式<b class='flag-5'>軟件開(kāi)發(fā)</b><b class='flag-5'>中</b>構(gòu)件技術(shù)的研究

    JAVA計(jì)算機(jī)軟件開(kāi)發(fā)應(yīng)用

    在當(dāng)前計(jì)算機(jī)軟件開(kāi)發(fā)中比較常用的編程語(yǔ)言就是JAVA。JAVA編程語(yǔ)言也是一種面向?qū)ο笳Z(yǔ)言,是具備開(kāi)發(fā)價(jià)值的源代碼,可以靈活應(yīng)用在各種操作平臺(tái)中。雖然市場(chǎng)存在不少的編程語(yǔ)言,但是J
    發(fā)表于 11-06 15:02 ?13次下載
    JAVA<b class='flag-5'>在</b>計(jì)算機(jī)<b class='flag-5'>軟件開(kāi)發(fā)</b><b class='flag-5'>中</b>應(yīng)用

    低代碼平臺(tái)ERP軟件開(kāi)發(fā)的作用

    很多人認(rèn)為低代碼開(kāi)發(fā)平臺(tái)的出現(xiàn)顛覆了傳統(tǒng)的軟件開(kāi)發(fā)模式,對(duì)軟件開(kāi)發(fā)行業(yè)造成沖擊,其實(shí)低代碼開(kāi)發(fā)平臺(tái)的出現(xiàn)只是提高了軟件開(kāi)發(fā)的效率,并不是要顛
    發(fā)表于 05-09 11:16 ?887次閱讀

    基于模型的嵌入式軟件開(kāi)發(fā)

    對(duì)工具的分類和資質(zhì)審核通過(guò)認(rèn)證的方式發(fā)放證書應(yīng)對(duì)復(fù)雜系統(tǒng)時(shí),軟件開(kāi)發(fā)人員的工作效率降低解決復(fù)雜軟件開(kāi)發(fā)效率低下的路徑:模塊化開(kāi)發(fā) (一個(gè)復(fù)雜的系統(tǒng)包含很多模塊,每個(gè)模塊都比較簡(jiǎn)單,這
    發(fā)表于 11-03 11:21 ?9次下載
    基于模型的嵌入式<b class='flag-5'>軟件開(kāi)發(fā)</b>

    汽車軟件開(kāi)發(fā)流程介紹

    汽車軟件開(kāi)發(fā)軟件開(kāi)發(fā)流程是軟件工程的核心,因?yàn)樗鼈優(yōu)?b class='flag-5'>軟件開(kāi)發(fā)實(shí)踐“提供了一個(gè)骨架并確保了它
    發(fā)表于 08-15 12:03 ?1.5w次閱讀

    軟件開(kāi)發(fā)外包有哪些坑要注意?

    軟件開(kāi)發(fā)外包公司并不比自己招人做的軟件差,甚至比自己招人做得好,那么選擇軟件開(kāi)發(fā)外包公司會(huì)有哪些坑必須要注意? ? 今天為大家分享幾種軟件外包
    的頭像 發(fā)表于 10-11 18:36 ?1467次閱讀

    軟件開(kāi)發(fā)的流程和方法有哪些?

    軟件開(kāi)發(fā)是根據(jù)客戶要求構(gòu)建出軟件系統(tǒng)或者系統(tǒng)軟件部分,一般是通過(guò)程序設(shè)計(jì)語(yǔ)言實(shí)現(xiàn)的,比如C/C++/JAVA/JSP/ASP等開(kāi)發(fā)語(yǔ)言。
    的頭像 發(fā)表于 12-27 10:56 ?2142次閱讀
    <b class='flag-5'>軟件開(kāi)發(fā)</b>的流程和方法有哪些?

    軟件開(kāi)發(fā)必讀!華為云軟件開(kāi)發(fā)生產(chǎn)線 CodeArts 深度體驗(yàn)指南

    都有什么功能?軟件開(kāi)發(fā)能起到什么作用?CodeArts?snap 是否有介紹的那般神奇? 本文將為各位開(kāi)發(fā)者詳細(xì)介紹如何從了解學(xué)習(xí)到體驗(yàn)掌握華為云
    的頭像 發(fā)表于 08-25 13:43 ?1270次閱讀
    <b class='flag-5'>軟件開(kāi)發(fā)</b>必讀!華為云<b class='flag-5'>軟件開(kāi)發(fā)</b>生產(chǎn)線 CodeArts 深度體驗(yàn)指南

    嵌入式軟件開(kāi)發(fā)軟件開(kāi)發(fā)的區(qū)別

    嵌入式軟件開(kāi)發(fā)軟件開(kāi)發(fā)是兩個(gè)不同的概念,它們一些關(guān)鍵方面有著明顯的區(qū)別。嵌入式軟件開(kāi)發(fā)是指開(kāi)發(fā)嵌入
    的頭像 發(fā)表于 01-22 15:27 ?2369次閱讀

    緩存技術(shù)軟件開(kāi)發(fā)的應(yīng)用

    現(xiàn)代軟件開(kāi)發(fā),隨著數(shù)據(jù)量的爆炸性增長(zhǎng)和用戶對(duì)響應(yīng)速度的高要求,緩存技術(shù)成為了提升系統(tǒng)性能的重要手段。緩存技術(shù)通過(guò)將數(shù)據(jù)存儲(chǔ)離用戶更近的位置,減少數(shù)據(jù)訪問(wèn)延遲,提高數(shù)據(jù)處理速度,從
    的頭像 發(fā)表于 12-18 09:32 ?315次閱讀
    主站蜘蛛池模板: 91久久精一区二区三区大全| 一本道中文无码亚洲| 荷兰少归BVBV| 成人啪啪色婷婷久色社区| 中文字幕在线视频观看| 亚洲精品国偷拍自产在线观看蜜臀 | 海量激情文学| 国产精品久久vr专区| 动听968| xxww69| 99在线观看视频| 97caopeng| 超碰在线视频| 99精品视频在线观看免费| 最近中文字幕在线看免费完整版| 97久久国产露脸精品国产| xxx免费观看| yin荡体育课羞耻play双性| 国产69精品久久久久APP下载| 俄罗斯XX性幻女18| 国产亚洲精品久久77777| 国产午夜亚洲精品理论片八戒| 黄色888| 久草热8精品视频在线观看| 狠狠插影院| 领导边摸边吃奶边做爽在线观看| 久久久高清国产999尤物| 簧片在线免费观看| 美女动态图真人后进式| 久久人妻AV一区二区软件| 久久精品无码一区二区日韩av| 免费精品国产人妻国语麻豆| 免费观看久久| 暖暖 免费 高清 日本视频5| 免费女性裸身照无遮挡网站| 日韩成人性视频| 熟女啪啪白浆嗷嗷叫| 日本欧美午夜三级| 手机在线观看你懂的| 一手揉着乳头一手模仿抽插视频 | 精品无码久久久久久久久|