zoukankan      html  css  js  c++  java
  • Android之StrictMode

    1. StrictMode是什么?

      StrictMode is a developer tool which detects things you might be doing by accident and brings them to your attention so you can fix them. 这个是Api文档的解释,意思就是为开发者在开发过程中提供的一个可以检测应用到应用中出现的问题并加以提示。使应用更加健壮,开发者也可以通过它来提高代码的水平,实现代码的一定优化,不是一股脑的写代码写完就完事。

    2. StrictMode的使用

      StrictMode的使用,当然只是在调试中使用,真正上线版本就不能要了。所以和使用Log一样,设置一个全局的标志位DEBUG_TAG,当调试设置为true,上线设置为false。来控制代码的可用性。

    if (DEBUG_FLAG) {
          StrictMode.setThreadPolicy(
                 new StrictMode.ThreadPolicy.Builder()
                               .detectAll()
    //                         .penaltyDialog() // 弹出违规提示对话框
                               .penaltyLog() // 在logcat中打印违规异常信息
                               .build());
          StrictMode.setVmPolicy(
                 new StrictMode.VmPolicy.Builder()
                               .detectAll()
                               .penaltyLog()
                               .build());
    }

      StrictMode策略:

      StrictMode.ThreadPolicy     StrictMode policy applied to a certain thread.

          关注点:Disk Reads 磁盘读  Disk Writes 磁盘写  Network access 网络访问  Custom Slow Code 自定义的运行速度慢的代码分析


      StrictMode.VmPolicy            StrictMode policy applied to all threads in the virtual machine's process.

          关注点:内存泄露的Activity对象  内存泄露的SQLite对象   内存泄露的释放的对象

    3. StrictMode的版本适配

      StrictMode是Android2.3之后增加的一个类,所以对于Android之前是无法使用的,按照上面的代码,运行在Android2.3上肯定是有问题的。所以要做处理。处理方式可以通过异常捕获来处理。

    4.参考:

    Android最佳实践之:StrictMode介绍

    严苛模式(StrictMode)

  • 相关阅读:
    编译hadoop eclipse的插件(hadoop1.0)
    HBase体系结构剖析
    hadoop2.6完全分布式安装HBase1.1
    HDFS主要特性和体系结构
    一些C语言学习的国外资源
    一个监控系统进程网络流量的程序
    python解析发往本机的数据包示例 (解析数据包)
    使用Fiddler抓包调试https下的页面
    fiddler Android下https抓包全攻略
    C++使用hiredis连接带密码的redis服务
  • 原文地址:https://www.cnblogs.com/aimqqroad-13/p/7229929.html
Copyright © 2011-2022 走看看