android - 将 Apache Pig 导入 Android 项目导致 "Unable to execute dex: Java heap space"错误

标签 android serialization hadoop sharedpreferences apache-pig

我试图在我的 Android 应用程序中序列化 TreeMap,以便将其保存到 SharedPreferences,如 this StackOverflow Q&A 中的建议。 。它是针对 ArrayList 的,但我还是捕获了机会。重点是使用 Apache Pig 项目中的 ObjectSerializer 类将 TreeMap 序列化为字符串并将其保存在共享首选项中的该数据类型中。

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

enter image description here

如果我再等一会儿,就会弹出更多对话框:

enter image description here

我的问题是:

  1. 发生了什么事以及为什么会发生这种情况?这可能是 Apache Pig 的一个错误吗?
  2. 是否有可用于序列化我的 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/

相关文章:

amazon-web-services - S3A hadoop aws jar 总是返回 AccessDeniedException

java - 在 Go 中将 C.jstring 转换为 native 字符串

android - Android WebView 中的自定义视频播放器

android - Android 上的可变视频播放速率

java - 客户端-服务器通信的可扩展性; XML v 序列化二进制文件

apache - HDFS名称格式错误 “Could not find the main class: namenood.”附加代码

android - 带暂停和恢复功能的倒数计时器

java - 为什么 Serialized 被称为接口(interface)?

c# - 一次构建一个 DateTime

hadoop - Hadoop权威指南 “National Climatic Data Center”获取数据