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)

Android之StrictMode的更多相关文章

  1. Android的StrictMode

    转自:http://blog.csdn.net/tonyfield/article/details/8238251 Android 2.3提供一个称为严苛模式(StrictMode)的调试特性,Goo ...

  2. [Android Memory] Android 的 StrictMode

    android的2.3 之后引入的StrictMode 对网络的访问做了限制啊. public void onCreate() { if (DEVELOPER_MODE) { StrictMode.s ...

  3. Android StrictMode介绍

    转:http://www.blueowls.net/android-strictmode%E4%BB%8B%E7%BB%8D/ /** * enables "strict mode" ...

  4. 【转】 Pro Android学习笔记(五五):调试和分析(3):adb命令、模拟器控制台和StrictMode

    目录(?)[-] adb命令 模拟器Console StrictMode adb命令 我们在学习SQLite的使用,介绍过部分adb命令的使用,见Pro Android学习笔记(五):了解Conten ...

  5. Android严苛模式StrictMode使用详解

    StrictMode类是Android 2.3 (API 9)引入的一个工具类,可以用来帮助开发者发现代码中的一些不规范的问题,以达到提升应用响应能力的目的.举个例子来说,如果开发者在UI线程中进行了 ...

  6. Android内存泄露分析之StrictMode

    转载请注明地址:http://blog.csdn.NET/yincheng886337/article/details/50524709 StrictMode(严格模式)使用 StrictMode严格 ...

  7. Android开发之StrictMode

    StrictMode简介 Android开发者官网对StrictMode的介绍 StrictMode类是Android 2.3(API 9)引入的一个工具类 用来帮助开发者发现代码中一些不规范的问题, ...

  8. android 通过访问 php 接受 or 传送数据

    先说传送数据,可以在 利用 php 代替传送,直接把 访问的url加上 xxx.php?informatin=xxxxxx 就行了 接收的看代码吧,详细注释. 首先是 我自己定义的php 文件 < ...

  9. Android Studio实现APK的更新、下载、安装

    先不讲那么多看效果图: 下面来讲解一些更新CODE,原理大家都知道,不废话,直接上代码.里面有一些是我自己做的测试例子,所以大家可以直接删掉就好了 第一个:activity_main.xml < ...

随机推荐

  1. AspectJ框架基于注解的AOP实现

    AspectJ的AOP实现:有两种方式,一种是基于XML配置文件,一种是基于注解的,由于注解更为常用,这里 这里只针对注解来学习. ---------------------------------- ...

  2. JDBC和servlet设计思路、DAO模式思路、MVC思路粗略总结

    #JDBC和Servlet联合起来使用的项目思路: 说明:建库,最好一开始设置utf8字符集 step1: 在数据库中建表 如   create table t_user{ ...... } step ...

  3. django F表达式、Q表达式、annotate、order_by

    如下模型: class Book(models.Model): name = models.CharField(max_length=100) pages = models.IntegerField( ...

  4. linux普通用户提权

    tar通配符注入. echo 'echo "chenglee ALL=(root) NOPASSWD: ALL" > /etc/sudoers' > demo.sh e ...

  5. git博客好的例子

    01: https://github.com/Gaohaoyang/gaohaoyang.github.io 02: https://gaohaoyang.github.io/2018/06/01/a ...

  6. JS深拷贝/深克隆(面试用)

    晒下我的比较浅显的深拷贝,没有考虑原型和循环引用,可以拷贝一些js原生类型,用于面试用. function deepClone(obj){ if(Object.prototype.toString.c ...

  7. NOIP模拟题 2017.11.6

    题目大意 给定一个大小为n的数组,从中选出一个子集使得这个子集中的数的和能被n整除. 假设开始我没有做出来,那么我就random_shuffle一下,然后计算前缀和,有一个能被n整除,就输出答案.于是 ...

  8. Codeforces Round #424 (Div. 2, rated, based on VK Cup Finals) Problem F (Codeforces 831F) - 数论 - 暴力

    题目传送门 传送门I 传送门II 传送门III 题目大意 求一个满足$d\sum_{i = 1}^{n} \left \lceil \frac{a_i}{d} \right \rceil - \sum ...

  9. Arrays的排序算法sort及方法使用

    Java工具包中的Arrays工具类里面有数组的快速排序算法. 源码如下: /** * Sorts the specified range of the array using the given * ...

  10. 解决vi删除键和方向键奇怪的问题

    sudo vi /etc/vim/vimrc.tiny 把 改为