严苛模式 简介
来源:互联网 发布:二维码防伪查询源码 编辑:程序博客网 时间:2024/06/02 03:39
一、 严苛模式:
严苛模式的作用,帮助我们检测程序中隐藏的违例点,帮助我们更好的调整程序,优化程序,好,接下来看一下严苛模式的用法
1.1 、 严苛模式一般在程序中的使用位置
在Application 或者 Activity的super.onCreate() 之前位置
目前使用的策有两种ThreadPolicy (线程) VmPolicy(Vm)
使用方式:
@Overrideprotected void onCreate(Bundle savedInstanceState) { if (DEBUG_MODE) { /** * 线程策略 严苛模式 检测程序中的违例 从而进行修复 */ StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder() .detectDiskReads() .detectDiskWrites() .detectNetwork() .penaltyLog() .build()); /** * Vm策略 */ StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder() .detectLeakedSqlLiteObjects() .detectLeakedClosableObjects() .penaltyLog() .penaltyDeath() .build()); } super.onCreate(savedInstanceState); }1.2 、具体用法介绍
使用Build模式配置
1.3 、 能检测的项
ThreadPolicy
detectCustomSlowCalls() 自定义耗时操作
detectAll() 检测所有的潜在违例
detectDiskReads() 读磁盘
detectDiskWrites() 写磁盘
detectNetwork() 检查网络
detectResourceMismatches() 检查资源类型是否匹配
VmPolicy
detectAll() 检测所有的潜在违例
detectActivityLeaks 检测Activity的泄漏
detectCleartextNetwork() 检测明文的网络
detectFileUriExposure() 检测file 或者是Content
detectLeakedClosableObjects() 检查危管理的Closable 对象
detectLeakedRegistrationObjects() 检测需要注册的类型的是否进行注解detectLeakedSqlLiteObjects() 检测sq li te对象 ,如cursors
1.4 、 检测到之后的表现形式
penaltyDeath crash ,在所有表现形式最后运行
penaltyDeathOnNetwork crash, 所有的执行 必须在detectNetwork设置允许
penaltyDialog 弹出Dialog
penaltyDropBox. 将日志吸入到dropbox 中
penaltyFlashScreen 屏幕闪烁
penaltyLog log日志( 这个是最长用的 )
这个只是一种检测程序中是否存在一些违例的存在,保证我们的程序在上线之前得到最大的优化,保证不会出现一些简单的但是有没有测试到的存在隐患的地方,当然,它最好是用在我们程序的调试阶段,
原文链接
- 严苛模式 简介
- 严苛模式
- 严苛模式
- 严苛模式(StrictMode)
- 严苛模式(StrictMode)
- StrictMode( 严苛模式)
- 严苛模式(StrictMode)
- 严苛模式(StrictMode) .
- 严苛模式(StrictMode)
- 严苛模式(StrictMode)
- 严苛模式(StrictMode)
- 严苛模式(StrictMode)
- 严苛模式(StrictMode)
- 严苛模式(StrictMode)
- 严苛模式(StrictMode)
- 严苛模式(StrictMode)
- 严苛模式(StrictMode)
- 严苛模式(StrictMode)
- 正则表达式
- Gebecr与KZime的膜你赛kZime与Git解题报告
- IDEA集成MaxCompute
- Git的简介和产生
- Android——从init进程启动流程
- 严苛模式 简介
- Android中的Looper , Handler , Message
- 360packbao and analyse
- 【WCF】利用WCF实现上传下载文件服务
- 定点数与浮点数
- codeblock无法编译,提示函数没有定义,但是函数已经 在头文件中定义了
- Unicode和UTF-8的区别与联系
- oracle密码
- AVL平衡二叉搜索树