在我的应用程序中,我对 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 中看到以下内容:
是这个原因吗?
最佳答案
SQLite 是一个用 C 编写的库,因此对数据库文件的所有访问确实隐藏在 JNI 调用中。
关于android - 为什么 StrictMode 不捕获 SQLite 的读/写操作?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38097247/