写入SharedPreferences文件时出现OutOfMemoryError

sco*_*yab 6 android out-of-memory sharedpreferences

我发现了这个好奇的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)
Run Code Online (Sandbox Code Playgroud)

Dan*_*ato 2

OOM 错误可能发生在应用程序的任何位置。

它只是说:嘿,我尝试分配一些东西,但内存不足。对不起。

这种情况可能会发生:您在应用程序中加载了一个非常大的图像,并且在 OOM 之前留下了很少的可用字节:然后您就有了一个分配字符串和内容的简单解析器..可能会出现 OOM。

你的问题在别处:)