我有一个 android 应用程序,它使用一个数据结构,该数据结构由几个二叉树和其他结构(如列表和数组)组成,它们都相互链接。我希望大家提出一个保存和检索此数据结构的方案。数据结构是通过 SAX 解析创建的(源是 XML 文件)。我已经尝试过 java 序列化/反序列化,但发现它至少比使用原始 SAX 解析器构建结构慢两倍。 serailzation(RAM 到存储)时间不是很重要,因为它将作为后台进程进行,但我想要一个更快的反序列化(存储到 RAM)方案。
我不想要任何类型检查功能等。我想要的只是一个快速的序列化和更快的反序列化方案。 Google 的 Protocol Buffer 也是一个不错的选择吗?请建议..
(注意:我的应用程序将显示一个空白窗口(Activity),直到数据结构被反序列化,所以速度是最重要的,我已经尽可能地缩小了我的 DS 的皮肤)
提前致谢
最佳答案
默认反序列化通常很慢,因为它广泛依赖于反射(很慢)。您可以尝试通过 redefining readObject/writeObject 手动实现它在您的类里面,它通常会带来显着的性能提升。
关于android - 数据结构的最快序列化/反序列化模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7160928/