问题标签 [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.
android - 在 AsyncTask 上设置 Bugsense 处理程序会导致违反严格模式
我设置了严格模式,然后设置了 Bugsense 处理程序。这导致违反 StrictMode 策略。
为什么会发生这种情况有什么合乎逻辑的解释吗?我怎样才能摆脱它?
我的应用程序.java:
堆栈:
java - 提高 Atom/RSS 阅读器的速度和可靠性
我最近从“ Atom Reader 阅读困难”的问题中做了。现在,我正在考虑我制作的博客应用程序的最大兼容性,从 Android Froyo 到 Jellybean。问题是我在使用StrictMode检查时收到错误通知。我正在通过Windows 7操作系统运行 Eclipse IDE。
如果我将最低 SDK 版本设置为 7 会发生以下情况,您会看到错误出现在红线中:
如果我通过 Android Manifest 将最低 SDK 版本设置为 11,会发生以下情况:
此外,当我使用AsyncTask运行它时,它会变得更慢、更快或只是滞后。
当我在onCreate()作为主线程恢复并运行此xp.Get_Parse_Feed(URL_link, is, lm.headlines, lm.links);
代码时,有时我们很快就会正确加载链接。问题是我应该管理哪一个以及如何使这个博客应用程序与 Android 2.1 及更高版本兼容?
android - 如何在严格模式下知道违规
我正在向 Web 服务发送登录请求,并且我已启用严格模式并出现以下错误
如何获得此处违反的内容。
这是更新的代码。请建议我在哪里做错了
谢谢
android - Android StrictMode 和堆转储
当 Android 的 StrictMode 检测到泄漏对象(例如活动)违规时,如果我能在那个时刻捕获堆转储将会很有帮助。但是,没有明显的方法可以将其配置为执行此操作。有谁知道一些可以用来实现它的技巧,例如,一种说服系统在调用死刑之前运行特定代码的方法?我认为 StrictMode 不会引发异常,因此我不能使用此处描述的技巧:Is there a way to have an Android process generate a heap dump on an OutOfMemoryError?
android - Android严格模式检测到多个活动实例违规,但我不知道为什么
代码可能太复杂,无法在此处完整发布,但这里是基本架构:我有两个Activity
子类,每个子类都承载一个ListView
. 每个ListView
都有一个自定义类的适配器,它View
也生成自定义类的实例。这些列表显示了在另一个线程中异步生成的数据项;因为它需要知道将更新发送到哪里,所以它操作的数据对象有WeakReference<>
设置为在初始化时保存对显示其内容的适配器的引用的对象。当第一个活动列表中的一个对象被选中时,我启动第二个活动的意图是指示它查找项目并显示其内容。然后我使用“返回”按钮关闭第二个活动并返回第一个活动。出于某种原因,当我在StrictMode
启用检查的情况下运行它时,它总是在两个活动之间切换几次迭代后崩溃,抱怨我的一个类的实例太多Activity
。
我已经安排在崩溃之前编写一个堆转储(请参阅Android StrictMode 和堆转储)。这些堆转储始终显示在终止时堆上的两个活动中的每一个都有 1 个实例。首先,当我最近在两者之间切换时,这难道不是意料之中的吗?如果是这样,为什么要StrictMode
抱怨这个?如果不是预期的,我该如何安排避免这种情况?检查堆转储,这两个对象都是从主线程堆栈中引用的,对此我似乎没有任何有用的控制程度。每个也有来自 的参考android.app.ActivityThread$ActivityClientRecord
,我似乎也无法控制。
所以,基本上,有什么想法可以避免这种情况吗?这实际上是否代表活动泄漏,或者 StrictMode 只是过于敏感?
android - 更改方向时的 StrictMode$InstanceCountViolation
我有一个带有标签的活动,当我旋转设备时我遇到了问题。当我以纵向模式启动应用程序时,然后旋转到横向并再次旋转到纵向,然后应用程序崩溃并且在 LogCat 中我看到:
这是我的活动onCreate()
方法:
片段类 - 这是扩展的空类SherlockFragment
(我使用 ActionBarSherlock)。
这里是TabManager
类:
我试图static
从班级和final
活动变量中删除,但没有帮助。
我认为当我旋转时,我的活动应该被销毁并重新创建,但可能有某个地方引用它并且不能被销毁。
有人可以帮助我吗?
编辑:我创建了一个空的 android 应用程序项目,其中只有一个活动和应用程序类,我在其中设置了严格模式,我得到了同样的错误。我将其用于严格模式:
java - 尝试遵循基本的 How to connect Android with PHP, MySQL 教程:应用程序崩溃 - 无法导入 android.os.StrictMode
好的 - 所以我正在使用以下教程:“如何将 Android 与 PHP、MySQL 连接起来”
然而,几乎所有尝试本教程的人(从评论来看)都遇到了强制关闭问题,因为该应用程序仅设计为在 API 级别 8 或更早版本上运行。
一些用户已经为此开发了一个修复程序,包括在 EditProductActivity.java 文件中添加以下代码行
// 这部分仅用于确定工作代码的放置位置
// 注意 * 在 EditProductActivity.java 的导入部分插入下面的行 // import android.os.StrictMode;
// 现在代码可以避免 NetworkOnMainThreadException 错误
但是,我在 logcat 中收到消息,指出无法解析 StrictMode 并且无法将 StrictMode 解析为一种类型。我对此进行了一些研究,并且 StrictMode 包含在 API 级别 8 及更高级别中。考虑到这一点,我将 AndroidManifest.xml 中的 API 级别提高到:
然后清理了我的项目 - 但是我仍然得到 StrictMode 无法解析为类型错误。
日志猫:
爪哇:
android - Android 严格模式
我已经使用AsyncTask
. 我只是在中显示响应TextView
。我不知道是对是错。它在 GingerBread 上工作并NetworkOnMainThreadException
在 JellyBean 上展示。如果我使用StrictMode
它,它会在 JellyBean 上工作并在 GingerBread 上强制关闭。如何编写支持Android 3.0 以上和Android 3.0 以下的代码。
}
android - Android Java 应用程序中的实例计数违规
我正在开发一个 Android 应用程序。抽象地说,这个应用程序有一个 UI 来与用户交互,它还与远程服务交互。远程服务向 Android 启动栏添加通知,此通知允许重新显示 UI。应用程序和服务在同一个包中。服务通知功能代码:
注意:它是当前版本的方法...以前我也尝试过以下 FLAGS
应用程序清单包含以下配置:
注意:我也尝试了其他礼仪,但这些预计不会产生影响......
当应用程序启动但不再显示时,可以重新显示其使用启动栏通知或使用“应用程序列表”中的应用程序条目,但是当我执行以下场景时,UI 显示两次:
- 从列表启动应用程序
- 主页按钮上的胶带
- (重新)使用通知显示应用程序 ==> UI 正确重新显示
- 主页按钮上的胶带
- (重新)使用“应用程序列表”显示应用程序 ==> 显示一个新的 UI 实例
场景日志:
我阅读了很多关于应用程序、远程服务和通知的内容、提示等,但我无法理解为什么从列表中重新启动应用程序时会重新创建 UI,并且只有在以前,它是从通知中重新显示的......注意:如果 FLAG_ACTIVITY_NEW_TASK 标志未添加到意图,则会记录以下警告,并且不会更改观察到的行为...
我将不胜感激。
谢谢你。此致,
编辑:这是我的错,而不是“应用程序”清单字段,android:launchMode =“singleTop”属性应该在“活动”元素中:/
我搬家了,它有效
android - Android StrictMode 总是抱怨 FileReader
启用 StrictMode 时,它总是抱怨 FileReader 有 DiskReadViolation。无论我如何改进,它仍然存在。我怀疑它与 UIThread 滞后问题有关,请告诉我如何解决它,谢谢。
编辑:getCpuFreq() 被放入 asynctask,但 onpostexcute() 的位置错误。@rciovati,感谢您的提醒,请在答案中发表您的话,以便我接受。