2012-01-06 85 views
0

说,我与Android 2.3.3的一半,然后我发现我需要的一些API,但只在Android 4.0中受支持。因此,我通过检查不同的Project Build Target切换到Android 4.0。现在这里出现一个StrictMode policy violation, policy=2711, violation=1,当我切换回来时它将消失。所以我认为这个转变是怪罪,但是有没有办法解决这个问题,而不是建立一个新项目?API开关触发StrictMode政策违规

更新
即使我开始一个新项目,与Android 4.0,但具有相同的代码,仍然Strict policy violation

回答

0

StrictMode policy violation, policy=2711, violation=1似乎是一个StrictModeDiskWriteViolation。当您在主UI线程上执行磁盘写入时,会发生磁盘写入冲突。要解决这个问题,你需要将磁盘写入主线程。在这种情况下,可能有些Android功能在4.0版本中发生了变化,现在包含磁盘写入,这意味着您需要更改代码,使其不再在4.0的主线程中使用该功能。

你能发布完整的堆栈跟踪吗?这应该有关于正在发生的事情的细节。

这个链接也可能会有所帮助:INSUFFICIENT_STORAGE: http://www.google.com/support/forum/p/Google+Mobile/thread?tid=10b73a621438323f

+0

我解决一个又一个,但问题古怪消失。我只是不明白 – manuzhang 2012-01-06 21:50:43

+0

取决于内部的功能......对于不同的情况可能是不同的路径。堆栈跟踪会告诉你什么是问题(请参阅上面的链接中的类似分析)。 – Theo 2012-01-06 22:10:37