我发现了这个好奇的OutOfMemoryError,我想知道是否有其他人遇到过它.我稍微违反了SharedPreferences的规则,并将一些模型对象存储为字符串,但这些对象很小.
java.lang.OutOfMemoryError at com.android.internal.util.FastXmlSerializer.(FastXmlSerializer.java:55) at com.android.internal.util.XmlUtils.writeMapXml(XmlUtils.java:177) at android.app.SharedPreferencesImpl.writeToFile(SharedPreferencesImpl.java:596) at android.app.SharedPreferencesImpl.access$800(SharedPreferencesImpl.java:52) at android.app.SharedPreferencesImpl$2.run(SharedPreferencesImpl.java:511) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573) at java.lang.Thread.run(Thread.java:841)
解决方法
OOM错误可能发生在应用程序的任何位置.
它只是说:嘿,我试图分配一些东西,但我失去记忆.抱歉.
这可能发生:你在你的应用程序中加载一个非常大的图像,并在OOM之前留下很少的字节:你有一个简单的解析器分配字符串和东西..可以去OOM.
你的问题在别的地方:)