2

我试图TreeMap在我的 Android 应用程序中序列化 a ,以便我可以将其保存到 a SharedPreferences,正如StackOverflow Q&A中所建议的那样。这是一个ArrayList,但我还是抓住了机会。重点是使用ObjectSerializerApache Pig 项目中的类将 TreeMap 序列化为 String 并将其保存在共享首选项中的该数据类型中。

然而,当我在没有 Hadoop 的情况下导入 .jar 时,我开始遇到很多错误。当我在模拟器中运行我的应用程序(我使用 Eclipse)时,我的 IDE 底部的状态栏永远不会超过消息“Launching [app name] 100% ...”然后,过了很长时间,这会出现:

在此处输入图像描述

如果我再等一会,更多的对话框会一个接一个地弹出:

在此处输入图像描述

我的问题是:

  1. 这是怎么回事,为什么会这样?这可能是 Apache Pig 的错误吗?
  2. 是否有可用于序列化我的替代库TreeMap?现在,我的解决方法是自己序列化它,如本教程中所述,并将其保存在设备内部存储器中与共享首选项分开的文件中。
4

2 回答 2

1

您可以尝试打开 eclipse.ini 文件并更改以下参数:

--launcher.XXMaxPermSize 512m

-XX:MaxPermSize=256m

-Xms512m

-Xmx1024m

于 2012-09-03T04:47:35.290 回答
1

解决方案是根本不在 Android 应用程序中使用 Apache Pig——这是一个非常糟糕的举动。Apache Pig 针对大数据项目进行了优化,需要大量物理资源才能运行。如果您只需要一个类来序列化您的对象,则不值得导入它。

我只是从应用程序的引用库中删除了 Pig,然后应用程序在 Eclipse 中再次正确启动。

于 2012-10-12T04:06:28.843 回答