问题标签 [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 投票
1 回答
379 浏览

android - 为什么 StrictMode 不捕获 SQLite 的读/写操作?

在我的应用程序中,我对 StrictMode 进行了以下设置:

在某些时候,我注意到我很少有 SQLite 操作没有放在单独的线程中的地方,但它们不会触发 StrictMode 违规。我已经在使用 Android 5.1.1 的真实设备和使用 4.4.4 和 5.1.1 的 Genymotions 上进行了测试,结果相同。我记得 SQLite 操作用于触发 StrictMode 违规,但现在情况并非如此。知道为什么吗?

我在文档中看到以下内容:

值得注意的是,来自 JNI 调用的磁盘或网络访问不一定会触发它。

是这个原因吗?

0 投票
0 回答
1965 浏览

android - android.os.StrictMode$StrictModeDiskReadViolation:在 com.android.server.policy.sec.TspStateManager.updateTspState

当我在 Application 上打开 StrictMode 时onCreate(),一切都很好,并且问题已解决。

但是,我意识到根据这个问题存在 StrictMode 的错误。所以我做了解决方法(使用Handler),确实出现了更多问题。我可以识别它们以抑制或修复它们。

但是下面的错误是我不知道的,因为堆栈跟踪似乎与我可能与之相关的任何代码都没有关系。

此错误发生在三星 S7 手机上,但不是 Nexus 6P。我想抑制此错误,但我首先需要知道触发此错误的代码部分,因此我可以在该代码上生成不同的线程或关闭该部分的 detectDiskReads。

有关如何检查此问题的提示有任何帮助吗?从哪里开始?

0 投票
0 回答
433 浏览

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

使用加载图像时,Picasso我正在设置由StrictMode. 当我去看风景时会发生这种情况DetailActivity

这是我的代码。我正在尝试使用调色板库在此代码中设置调色板颜色。

0 投票
0 回答
373 浏览

android - StrictMode 与惩罚死亡关闭应用程序

我已经在我的应用程序中使用以下选项实现了 StrictMode:

应用程序有两个活动(A 和 B),场景是:

  1. StrictMode 被实现到活动 A 的 onCreate 方法中
  2. B活动从A开始
  3. B活动结束,回到活动A
  4. B活动从A开始
  5. B活动结束,A活动被StrictMode杀死(penaltyDeath)

当活动 A 被杀死时,我收到一条消息:

A类活动;实例=2;限制=1 android.os.StrictMode$InstanceCountViolation: 类 AActivity; 实例=2;限制 = 1 在 android.os.StrictMode.setClassInstanceLimit(StrictMode.java:1)

Activity B 通过自定义按钮启动(它只有空的构造函数,与 B 活动相同)。我试图在 StrictMode 中设置类实例限制但没有结果。奇怪的是,如果没有penaltyDeath() 选项,活动实例的数量会增加到15-17,然后GC 即将到来。

有人对 StrictMode 有类似的问题吗?

0 投票
2 回答
438 浏览

android - EditText 导致 Activity 泄漏。当前的stackoverflow答案没有帮助

我有一个开启 Android 严格模式、VmPolicy detectAll 和 Penalty Death 的代码。这在应用程序中打开。

所以它可以帮助我检测内存泄漏。我的代码很简单,2 个活动(几乎是空白)。MainActivity 有一个按钮单击以打开 SubActivity。SubActivity 只有一个 EditText。

代码可以在这里获取https://github.com/elye/issue_edittextleak

如果您运行代码,从 MainActivity 转到 SubActivity,然后返回 MainActivity(使用 Back Key),然后转到 SubActivity,然后返回......它会崩溃

这是因为它检测到 SubActivity 已经泄露。

为什么 SubActivity 泄露,因为它有 EditText。删除它会导致它不再泄漏。

这发生在三星 S5 Lollipop 5.0 (v21) 上。它还在 KitKat (v19) 上泄漏。它不会发生在三星 S7 Marshmallow 和 Nexus 6 (Nougat) 上。

Emulated Nexus 5 Lollipop 5.0.2 (v21) 不会发生这种情况。但是发生在 Emulated Nexus 5 的 v19 上。

我检查了许多stackoverflow,但找不到解决方案。您将在https://medium.com/@elye.project/hell-level-4-unleashed-by-android-strict-mode-dare-you-challenge-it中阅读有关此问题的更多详细信息以及我的探索-1dc9048bb4fb#.aiffbdikn

那我想要什么? 我认为 Lollipop 5.0.2 及更高版本上的内存泄漏已得到解决。但是对于之前的版本,我如何在可以拥有editText的同时防止泄漏?

0 投票
1 回答
802 浏览

android - Adview loadAd() 触发 StrictMode 违规

我正在尝试在我的应用程序中添加一些添加。当我启用 StrictMode 时,我会收到一堆像这样的违规行为(可能是 6 或 7 个)。这是正常的吗?

adview 的代码是这样的:

0 投票
2 回答
793 浏览

android - 如何使用 StrictMode.noteSlowCall?

我只想使用 StrictMode.noteSlowCall 。我不知道该怎么办。开发者站点/androidxref 没有足够的解释。

下面是我的代码。

下面是其他文件...

我试过这些代码。但它根本不起作用。即使我按下按钮,它也不会出现在日志文件或保管箱中。你能告诉我问题是什么吗?

0 投票
1 回答
4400 浏览

android - 在 logcat 上看不到 StrictMode 详细信息 - 屏幕旋转时抑制 StrictMode 策略违规

我的问题是这样的,我正在尝试了解此跟踪的来源:

每次我将屏幕从纵向旋转到横向时,我的 Android Studio logcat 上都会出现这些 StrictMode 行,反之亦然。我不明白为什么 logcat 表示“已抑制”,因为我认为 StrictMode 在我的主要活动中被激活(唯一的一个)

附加信息:当我使用地图时,我看到了这种严格的模式违规,FrameLayout 上的地图片段

logcat 的附加行

谢谢大家!

0 投票
1 回答
2545 浏览

android - StrictMode 策略违规:Android 中的 StrictModeDiskReadViolation、WriteViolation

我正在开发一个使用 Google 地图的 Android 项目。该应用程序在我的手机上运行良好,有 5.1.1 Android 版本,因为我用它来开发项目,但同一个应用程序在其他手机(6.0.0 Android)上无法运行。在其他手机谷歌地图没有更新。(不去当前位置)。为什么其他手机不更新谷歌地图?

提示这个;

0 投票
1 回答
378 浏览

android - android中的资源泄漏问题

我的 android 应用程序因严格模式违规消息而崩溃,其中包含导致问题的任何特定信息。当我使用我的应用程序配置 FCM 并且我现在没有使用 FCM 执行网络操作时,崩溃开始出现。我刚刚配置它并开始出现崩溃。

应用程序很大,我无法一一检查所有 API 调用。

这是堆栈跟踪

请帮助我调试问题或指出一个可以给我一些具体答案的方向。