问题标签 [android-strictmode]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
277 浏览

java - Android Studio 严格模式无法定位错误

我在 android studio 中使用严格模式,但我无法找到导致错误的代码。错误是由于未关闭的对象引起的,但我检查了我的所有活动,并且没有这样的对象保持打开状态。

错误日志

我的 BaseActivity 类

在我的活动中,我获取数据的方式

UserDataRepository 类

UserDiskData.class

这些是唯一使用领域的类。

0 投票
1 回答
3145 浏览

android - StrictMode AndroidBlockGuardPolicy.onReadFromDisk

我面临下一个问题:

我在 3 个地方收到此错误:

我在文档中没有找到有关这些方法的任何信息。我只找到了一种解决方案 - 使用 AsyncTask,但我应该修复它吗?如果是,为什么文档不包含有关它的任何信息?最好的祝福。

0 投票
0 回答
98 浏览

android - 在附加的堆栈跟踪中获取了资源,但从未在 DynamiteModulesC 中释放

我正在使用严格模式并且收到很多此类错误。

这些是我的 gradle 文件:

火力基地

谷歌播放服务

0 投票
3 回答
14366 浏览

android - StrictMode java.lang.Throwable:检测到未标记的套接字

启用 StrictMode 后,我刚刚开始收到此异常:

java.lang.Throwable:检测到未标记的套接字;使用 TrafficStats.setThreadSocketTag() 跟踪所有网络使用情况

0 投票
0 回答
1798 浏览

android - StrictMode java.lang.Throwable:使用 AdMob 检测到未标记的套接字

在 AdMob 中使用 StrictMode 时出现以下异常:

这类似于StrictMode java.lang.Throwable: Untagged socket detected中的问题。但是,在这种情况下,该线程中的解决方案似乎不起作用。

我添加了对 TrafficStats.setThreadStatsTag 的调用:

但异常似乎仍然出现。这就像我标记的线程不是实际的 AdMob 线程。

知道如何标记 AdMob 的主题吗?

0 投票
0 回答
304 浏览

android - 华为 Mate 9 Nougat 的 Android StrictMode 问题

我有一个 Android Instrumented 测试,我尝试启动我的应用程序并执行以下操作:

当我在 Firebase 上运行它们时,所有测试在大多数设备上都通过了,除了Huawei Mate 9 with Nougat (Android 7.0 with API 24)。当我对此设备运行测试时,出现以下错误:

我似乎很清楚StricMode已经发现了一个奇怪的错误,即ActivityThread尝试通过使用主线程从磁盘加载字体系统来初始化字体系统。

没有任何在线提供此错误的解决方案,而且我的测试仅针对此特定设备失败似乎很奇怪。

任何人对如何解决此问题或可能导致此问题的原因有任何想法?

0 投票
1 回答
5569 浏览

android - StrictMode:创建 SharedPreference 时的 StrictModeDiskReadViolation

我有一个带有以下提供程序方法的匕首设置项目:

这是来自应用程序的代码onCreate()

在 API 27 模拟器上运行项目会导致以下行为:

使用以下日志:

D/StrictMode:StrictMode 策略违规;~duration=275 毫秒:android.os.StrictMode$StrictModeDiskReadViolation:策略=196671 违规=2 在 android.os.StrictMode$AndroidBlockGuardPolicy.onReadFromDisk(StrictMode.java:1440) 在 java.io.UnixFileSystem.checkAccess(UnixFileSystem.java: 251) 在 java.io.File.exists(File.java:807) 在 android.app.ContextImpl.getDataDir(ContextImpl.java:2197) 在 android.app.ContextImpl.getPreferencesDir(ContextImpl.java:517) 在 android。 app.ContextImpl.getSharedPreferencesPath(ContextImpl.java:714) 在 android.app.ContextImpl.getSharedPreferences(ContextImpl.java:368) 在 android.content.ContextWrapper.getSharedPreferences(ContextWrapper.java:167) 在 android.preference.PreferenceManager.getDefaultSharedPreferences (PreferenceManager.java:

这意味着,从磁盘读取以下内容: res.exists()

因为这发生在 UI 线程上 -StrictModeDiskReadViolation结果。

Afaik,不存在从 StrictMode 配置中排除某些代码块(例如按包名称)的 API。实际上,我可以将SharedPreferences相关内容留在 UI 线程上从磁盘读取。

由于这个问题,我不想关闭读/写 StrictMode 规则。

问题

从这种情况中正常恢复的正确方法是什么?

0 投票
3 回答
2954 浏览

android - 是否可以在 android 中使用 StrictMode 来避免 ANR?

我在某处读到,通过使用 StrictMode,我们可以避免 Android 中的 ANR。我试过这样下面是代码

我尝试为测试目的生成 ANR,如下所示:

但是,ANR 仍然出现在屏幕上。如何使用 StrictMode 避免 ANR?可能吗?

0 投票
0 回答
2287 浏览

android - StrictMode 策略违规 (DiskReadViolation) 高估了 measureTimeMillis{} 块的结果

我启用了 StrictMode,并收到了警告。

但是val ms = measureTimeMillis {...}有问题的代码块给了我14ms执行时间。

这是一个巨大的差异。我究竟做错了什么?

0 投票
1 回答
1135 浏览

android - 当启动严格模式并将 `android:persistent` 设置为 `true` 时会出错。我该如何解决这个错误?

当启动严格模式并设置android:persistenttruewill 有错误。我该如何解决这个错误?谢谢。

应用

偏好示例.xml

偏好片段:

错误日志: