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的更多相关文章
- Android的StrictMode
转自:http://blog.csdn.net/tonyfield/article/details/8238251 Android 2.3提供一个称为严苛模式(StrictMode)的调试特性,Goo ...
- [Android Memory] Android 的 StrictMode
android的2.3 之后引入的StrictMode 对网络的访问做了限制啊. public void onCreate() { if (DEVELOPER_MODE) { StrictMode.s ...
- Android StrictMode介绍
转:http://www.blueowls.net/android-strictmode%E4%BB%8B%E7%BB%8D/ /** * enables "strict mode" ...
- 【转】 Pro Android学习笔记(五五):调试和分析(3):adb命令、模拟器控制台和StrictMode
目录(?)[-] adb命令 模拟器Console StrictMode adb命令 我们在学习SQLite的使用,介绍过部分adb命令的使用,见Pro Android学习笔记(五):了解Conten ...
- Android严苛模式StrictMode使用详解
StrictMode类是Android 2.3 (API 9)引入的一个工具类,可以用来帮助开发者发现代码中的一些不规范的问题,以达到提升应用响应能力的目的.举个例子来说,如果开发者在UI线程中进行了 ...
- Android内存泄露分析之StrictMode
转载请注明地址:http://blog.csdn.NET/yincheng886337/article/details/50524709 StrictMode(严格模式)使用 StrictMode严格 ...
- Android开发之StrictMode
StrictMode简介 Android开发者官网对StrictMode的介绍 StrictMode类是Android 2.3(API 9)引入的一个工具类 用来帮助开发者发现代码中一些不规范的问题, ...
- android 通过访问 php 接受 or 传送数据
先说传送数据,可以在 利用 php 代替传送,直接把 访问的url加上 xxx.php?informatin=xxxxxx 就行了 接收的看代码吧,详细注释. 首先是 我自己定义的php 文件 < ...
- Android Studio实现APK的更新、下载、安装
先不讲那么多看效果图: 下面来讲解一些更新CODE,原理大家都知道,不废话,直接上代码.里面有一些是我自己做的测试例子,所以大家可以直接删掉就好了 第一个:activity_main.xml < ...
随机推荐
- SQL语句的优化方法
减少对数据库的查询次数 尽量使用相同的或非常类似的SQL语句进行查询 避免不带任何条件的SQL语句的执行 sql语句用大写 别名的使用(1.5倍)
- Python3.6.2在线安装pymysql模块
我是一个python新手刚才使用python写邮件发送代码的时候想着需要连接数据库, 下面的安装步骤 python -m pip install pymysql PS C:\Users\hp> ...
- svg动态添加小人
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...
- Codeforces Round #439 (Div. 2) Problem B (Codeforces 869B)
Even if the world is full of counterfeits, I still regard it as wonderful. Pile up herbs and incense ...
- Docker基础学习-尚硅谷
视频地址:链接: https://pan.baidu.com/s/15sJuEh5cVTJ7-vWSH7vffw 提取码: zf25 笔记:
- JavaScript事件监听以及addEventListener参数分析
事件监听 在Javascript中事件的监听是用来对某些操作做出反应的方法.例如监听一个按钮的pressdown, 或者获取鼠标左键按下时候鼠标的位置.这些都需要使用监听来完成.监听的函数很简单:ad ...
- topcoder srm 370 div1
problem1 link 枚举每一种大于等于$n$的计算其概率即可. problem2 link 首先二分答案,然后计算.令$f[i][j]$表示移动完前$i$最后一个在位置$j$的最小代价. pr ...
- [HEOI2016/TJOI2016]树
[HEOI2016/TJOI2016]树 思路 做的时候也是糊里糊涂的 就是求最大值的线段树 错误 线段树写错了 #include <bits/stdc++.h> #define FOR( ...
- IDEA入门及maven配置
idea基本使用 下载安装 idea下载地址 激活方法 上面的失效使用这个 配置SDKs和编译版本 选择jdk 我是主要用于Java开发,因此配置JDK8 配置编码 其他配置 个人配置主题等 注意 与 ...
- (转)ResNet, AlexNet, VGG, Inception: Understanding various architectures of Convolutional Networks
ResNet, AlexNet, VGG, Inception: Understanding various architectures of Convolutional Networks by KO ...