frydsh 发表于 2012-12-19 23:21:43

Android 的 StrictMode

Android 的 StrictMode

<div class="postText"><div id="cnblogs_post_body">      从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/
页: [1]
查看完整版本: Android 的 StrictMode