Android 的 StrictMode


      從Android 2.3(API Level 9)開始,Android提供了一個程序性能診斷工具,它就是StrictMode。

      目前,StrictMode的能力與限制包括:

            1.基於線程的對磁盤讀寫,網絡操作,以及自定義耗時操作等的監控;

            2.基於VM進程的對對象泄露(Activity對象,SQLite對象,未反注冊對象,未關閉對象)的監控;

            3.可以檢測到跨進程的耗時操作(當然必須是同步操作);

            4.當前不支持在jni中發生的網絡與磁盤操作。

      隨着Android的進化,StrictMode的功能也將越來越強大。

      當StrictMode檢測到指定的事件發生時,它以指定的方式通知你:崩潰,彈出對話框,閃屏,logcat,dropbox。

      為什么磁盤操作也被認為是耗時的?

      雖然Android設備幾乎都使用flash memory作為存儲,讀寫速度堪比固態硬盤(SSD),但是建立在其上的文件系統可能會限制讀寫並發性,使得讀寫操作的時間不夠穩定。

      例如,廣為使用的YAFFS文件系統使用了一個全局的同步鎖,在同一時間只允許一個磁盤讀寫操作,這使得磁盤讀寫的時間變得相當的不可靠。

      在程序的發布版本中,一定要注意關掉StrictMode,但是可以在Beta版本中保留它,以便從志願者那里收集性能數據。

      參考連接:

      http://android-developers.blogspot.com/2010/12/new-gingerbread-api-strictmode.html

      https://code.google.com/p/zippy-android/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM