android StrictMode设置导致程序崩溃

    在andorid开发过程中有时候会用到StrictMode进行相关操作,可以用来帮助开发者发现代码中的一些不规范的问题,以达到提升应用响应能力的目的

StrictMode分为以下两种策略:
1. 线程监控策略

2.VM虚拟机监控策略

  ThreadPolicy线程策略检测

  • 线程策略检测的内容有
  • 自定义的耗时调用 使用detectCustomSlowCalls()开启
  • 磁盘读取操作 使用detectDiskReads()开启
  • 磁盘写入操作 使用detectDiskWrites()开启
  • 网络操作 使用detectNetwork()开启

  VmPolicy虚拟机策略检测

  • Activity泄露 使用detectActivityLeaks()开启
  • 未关闭的Closable对象泄露 使用detectLeakedClosableObjects()开启
  • 泄露的Sqlite对象 使用detectLeakedSqlLiteObjects()开启
  • 检测实例数量 使用setClassInstanceLimit()开启

  使用penaltyDeath()的话,一旦StrictMode消息被写到LogCat后会导致应用崩溃。

				StrictMode
						.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
								.detectDiskReads().detectDiskWrites()
								.detectCustomSlowCalls().detectNetwork()
								// .penaltyDialog() // 弹出违规提示对话框
								.penaltyLog() // 在Logcat 中打印违规异常信息
								.penaltyFlashScreen().build());
				StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()
						.detectLeakedSqlLiteObjects().detectAll().penaltyLog()
					//.penaltyDeath() //一旦penaltyLog执行,直接导致程序崩溃
						.build());

    随笔写StrictMode相关内容,Logcat所报错误如何解决网上有很多资源,本人也在学习当中,写下本文供大家参考,有好意见欢迎交流。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值