免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

AndroidStrictMode運行流程(推薦)-創新互聯

什么是 StrictMode(嚴苛模式)

創新互聯服務項目包括西峽網站建設、西峽網站制作、西峽網頁制作以及西峽網絡營銷策劃等。多年來,我們專注于互聯網行業,利用自身積累的技術優勢、行業經驗、深度合作伙伴關系等,向廣大中小型企業、政府機構等提供互聯網行業的解決方案,西峽網站推廣取得了明顯的社會效益與經濟效益。目前,我們服務的客戶以成都為中心已經輻射到西峽省份的部分城市,未來相信會繼續擴大服務區域并繼續獲得客戶的支持與信任!

strictmode是android在 API9后引入的檢測影響app運行流暢性的一種機制,例如我們都知道的主線程中不允許有網絡操作這條規則就是嚴苛模式規則的一種.

strictmode.java 這個類中設定了許多detect標志位例如 DETECT_NETWORK ,還有許多 penalty標志位例如 PENALTY_NETWORK , DETECT標志位決定strictmode是否要對這項內容進行檢測,PENALTY標志位決定了在這項內容發生時是否要拋出異常(相當于一種懲罰機制,PENALTY的意思就是懲罰).

StrictMode 類的作用之一就是對這些標志位進行管理,通過 setThreadPolicy() 方法可以設定 Policy 變量中的mask值.

之后會將 POLICY 變量傳入 BlockGuard 中,BlockGuard 運行在 Dalvik虛擬機中,對所有的異常操作進行統一的管理.

Android官方文檔中對于strict mode 給出的解釋

strictmode 是一種開發工具,引入它可以使你發現在開發過程中產生的問題,并修復它們.

在 application main thread中常有UI相關的操作和動畫發生,strictmode可以在主線程中檢測硬盤和網絡相關的操作.將硬盤讀寫操作和網絡相關操作挪出主線程可以使你的app更加流暢和具有響應性.同時為了使app更加響應性,你可以屏蔽ANR發生時彈出的dialog.

需要注意的是,盡管android設備的硬盤類型大多為 flash memory,建立在這種存儲介質上的文件系統的并發性仍然是非常有限的(速度上肯定是RAM比較快).

大部分情況下,硬盤的讀寫操作都是非常快的,但在某些情況下,后臺進程中會運行耗費很大的I/O操作,在這種情況下,app的響應速度會下降很多.

一.setThreadPolicy()流程

StrictMode類的文檔中給出的strictmode啟動方式

 * public void onCreate() {
 * if (DEVELOPER_MODE) {
 * StrictMode.setThreadPolicy(new {@link ThreadPolicy.Builder StrictMode.ThreadPolicy.Builder}()
 *  .detectDiskReads()
 *  .detectDiskWrites()
 *  .detectNetwork() // or .detectAll() for all detectable problems
 *  .penaltyLog()
 *  .build());
 * StrictMode.setVmPolicy(new {@link VmPolicy.Builder StrictMode.VmPolicy.Builder}()
 *  .detectLeakedSqlLiteObjects()
 *  .detectLeakedClosableObjects()
 *  .penaltyLog()
 *  .penaltyDeath()
 *  .build());
 * }
 * super.onCreate();

本文標題:AndroidStrictMode運行流程(推薦)-創新互聯
網頁地址:http://m.newbst.com/article36/dcecpg.html

成都網站建設公司_創新互聯,為您提供面包屑導航微信公眾號網站收錄外貿建站外貿網站建設網站內鏈

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

網站優化排名