android - 数据结构的最快序列化/反序列化模式

标签 android serialization data-structures sax protocol-buffers

我有一个 android 应用程序,它使用一个数据结构,该数据结构由几个二叉树和其他结构(如列表和数组)组成,它们都相互链接。我希望大家提出一个保存和检索此数据结构的方案。数据结构是通过 SAX 解析创建的(源是 XML 文件)。我已经尝试过 java 序列化/反序列化,但发现它至少比使用原始 SAX 解析器构建结构慢两倍。 serailzation(RAM 到存储)时间不是很重要,因为它将作为后台进程进行,但我想要一个更快的反序列化(存储到 RAM)方案。

我不想要任何类型检查功能等。我想要的只是一个快速的序列化和更快的反序列化方案。 Google 的 Protocol Buffer 也是一个不错的选择吗?请建议..

(注意:我的应用程序将显示一个空白窗口(Activity),直到数据结构被反序列化,所以速度是最重要的,我已经尽可能地缩小了我的 DS 的皮肤)

提前致谢

最佳答案

默认反序列化通常很慢,因为它广泛依赖于反射(很慢)。您可以尝试通过 redefining readObject/writeObject 手动实现它在您的类里面,它通常会带来显着的性能提升。

关于android - 数据结构的最快序列化/反序列化模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7160928/

相关文章:

c - 为什么不增加?

Java文本提取与数据结构设计

android - 安装Android SDK后"sdkmanager: command not found"

ruby-on-rails - 如何解决 Marshal.dump "no marshal_dump is defined for class Proc"错误

java - 如何从 AsynchronousSocketChannel 反序列化可序列化对象

c++ - 红黑树~1子删除

android - TextView 未在自定义 View 中更新

android - App-Code 是否在通过 Play-Store 安装时执行?

android - 以编程方式将以下代码 xml 创建到 layerlist android

java - Jackson 如何在自定义序列化器/反序列化器中检索父 bean