从Application.onCreate()
调用的代码:
private fun enableOnStrictMode() {
StrictMode.setThreadPolicy(
StrictMode
.ThreadPolicy
.Builder()
.detectAll()
.penaltyLog()
.build())
StrictMode.setVmPolicy(
StrictMode
.VmPolicy
.Builder()
.detectAll()
.penaltyLog()
.build())
}
这在Android 9.0 Pie设备上可以很好地工作,并输出几乎十二种违反策略的行为,包括未标记的网络请求和磁盘读取。但是,在棉花糖设备(三星J5 Android 6.0)上运行相同的代码时,即使认为仍然存在违反政策的行为,StrictMode也不输出日志记录。
关于StrictMode配置是否存在某些问题,可能导致Android 6.0棉花糖无法输出?
答案 0 :(得分:1)
某些检测仅从更高版本的API开始可用。
例如,API级别26(Android O)added detectUntaggedSockets
和detectUnbufferedIo
。
但是,detectDiskReads
应该可用starting with API level 9。