2012-01-06 88 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