gpt4 book ai didi

Android - 将 Parcelable 数据保存到文件中

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:40:45 27 4
gpt4 key购买 nike

我曾经使用 Serializable 对象将它们保存在文件系统中并读取它们以便做任何我想做的事情。但是,当您必须在 Activity 之间传递数据时,序列化速度很慢,所以我阅读了它,而不是建议使用 Parcelable。然后我做到了,是的,它更快!但是现在,我遇到了一个小问题。由于 Parcelable 针对 IPC 进行了优化,因此它们不可序列化且无法保存到文件中。所以我想知道是否可以这样做。

此外,如果我决定为我的类同时实现 Parcelable 和 Serializable 接口(interface),但只使用 Parcelable 在我的 Activity 之间传递数据,我将能够将该类保存到一个文件中。但我想,因为我使用可序列化(仅用于保存,不用于传递数据),这不是一个好主意吗?

我也想过使用 Gson 库,从类中序列化数据,并将 JSON 保存到文件中,然后重用 Gson 反序列化 JSON 以获得我的 Parcelable 对象。这似乎是个好主意吗?性能怎么样?

感谢大家的回答!

J.

最佳答案

只需执行 context.getFilesDir() 并使用 java.io.ObjectInputStream 和 java.io.ObjectOutputStream。

另外,关于“Parcelable not now serializable”。这并不完全有意义,因为 Parcelable 在接口(interface)中,而不是在您扩展的类中。

所以,

class MyClass implements Parcelable, Serializable {   
}

应该工作得很好。一旦您将对象读写到文件系统,Parcelable 接口(interface)仍然有效。这只是一个界面。

我不得不承认我还没有尝试过,但这是我今天写的,明天我将编写单元测试。

希望这对您有所帮助。

关于Android - 将 Parcelable 数据保存到文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23543509/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com