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)

  • 相关阅读:
    JavaWeb--JDBC
    JavaWeb--过滤器、监听器
    Javaweb-MVC三层架构
    JavaWeb--JSP
    JavaWeb--Cookie、Session
    JavaWeb--Servlet
    实用记录文档
    分库分表Sharding-JDBC + MyBatis-Plus动态表名
    如何不靠运气变得富有 (九) —— 互联网极大地丰富了职业发展的可能性
    如何不靠运气变得富有 (八) —— 给社会提供它不知道如何获得的东西
  • 原文地址:https://www.cnblogs.com/aimqqroad-13/p/7229929.html
Copyright © 2011-2022 走看看