我试图在我的 Android 应用程序中序列化 TreeMap
,以便将其保存到 SharedPreferences
,如 this StackOverflow Q&A 中的建议。 。它是针对 ArrayList 的,但我还是捕获了机会。重点是使用 Apache Pig 项目中的 ObjectSerializer 类将 TreeMap 序列化为字符串并将其保存在共享首选项中的该数据类型中。
然而,当我在没有 Hadoop 的情况下导入 .jar 后,我就开始遇到很多错误。当我在模拟器中运行我的应用程序(我使用 Eclipse)时,IDE 底部的状态栏永远不会超过消息“启动 [应用程序名称] 100%...”然后,过了很长一段时间,出现以下内容:
如果我再等一会儿,就会弹出更多对话框:
我的问题是:
- 发生了什么事以及为什么会发生这种情况?这可能是 Apache Pig 的一个错误吗?
- 是否有可用于序列化我的
TreeMap
的替代库?现在,我的解决方法是自己对其进行序列化,如 this tutorial 中所述。 ,并将其保存在设备内存中与共享首选项分开的文件中。
最佳答案
您可以尝试打开 eclipse.ini 文件并更改以下参数:
--launcher.XXMaxPermSize 512m
-XX:MaxPermSize=256m
-Xms512m
-Xmx1024m
关于android - 将 Apache Pig 导入 Android 项目导致 "Unable to execute dex: Java heap space"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12241996/