为何StrictMode无法捕获SQLite的读写 *** 作?

为何StrictMode无法捕获SQLite的读写 *** 作?,第1张

概述在我的应用中,我为StrictMode设置了以下设置:StrictMode.setThreadPolicy(newStrictMode.ThreadPolicy.Builder().detectDiskReads().detectDiskWrites().detectNetwork().penaltyLog().penaltyDeath()

在我的应用中,我为StrictMode设置了以下设置:

    StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()            .detectdiskReads()            .detectdiskWrites()            .detectNetwork()            .penaltyLog()            .penaltyDeath()            .build());

在某个时候,我注意到我很少有地方不将sqlite *** 作放在单独的线程中,但是它们不会触发StrictMode违例.
我已经在具有AndroID 5.1.1的真实设备上以及在4.4.4和5.1.1的Genymotions上进行了测试,结果相同.
我回想起sqlite *** 作曾经触发StrictMode违规,但是现在不是这种情况了.知道为什么吗?

我在documentation中看到以下内容:

Notably, disk or network access from JNI calls won’t necessarily trigger it.

那是原因吗?

解决方法:

sqlite是用C编写的库,因此对数据库文件的所有访问确实隐藏在JNI调用中.

总结

以上是内存溢出为你收集整理的为何StrictMode无法捕获SQLite的读/写 *** 作?全部内容,希望文章能够帮你解决为何StrictMode无法捕获SQLite的读/写 *** 作?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1120803.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存