Gson解析没有响应

时间:2015-02-05 13:49:38

标签: android json gson

我有一个我要保存到SharedPreferences的自定义View对象的ArrayList。 我使用Gson.toJson()来序列化对象,但每次调用该函数时,应用程序都会停止响应并且logcat无休止地写入数百种此类输出:

art﹕ Background sticky concurrent mark sweep GC freed 346250(10MB) AllocSpace objects, 185(4MB) LOS objects, 22% free, 27MB/35MB, paused 12.002ms total 112.210ms

即使我在MainActivity.java中尝试这样做以确保我的自定义View不是问题,问题也是一样的:

Gson gson = new Gson();
String parsedView = gson.toJson(new View(this));

但是当我尝试解析一个没有扩展View的对象时,它运行得很好。

1 个答案:

答案 0 :(得分:0)

LogCat告诉你操作系统正在释放(大量)内存以进行解析。

我让你阅读View对象的结构:View object's source code

正如你所看到的,结构是巨大的!所以你的系统在这里做了很多工作!

您可以参考@Matt Ball评论:为什么要序列化COMPLETE View对象?如果要将其保存在SharedPreferences中,只存储所需的值:text,clickable,focusable,...您不需要存储整个对象。