0

在库的描述中,您可以读到它使用代码生成。再进一步,您可以阅读以下内容:

使用默认字段序列化策略时请注意不要使用私有字段,因为它会因反射而导致性能损失。

现在这让我很困惑!它是使用反射还是代码生成。如果它确实使用反射,我看不出这样的库的意义,因为 Parcelables 的全部意义在于避免使用反射的 Serializables?

4

1 回答 1

1

ParcelerParcelable为您的代码生成包装器,这样您就可以避免编写样板文件。这样做的一个优点是静态编译代码的高性能。在某些情况下,例如访问私有字段、方法或构造函数,Parceler 必须求助于使用反射,正如引用的注释所提到的,这将导致发出警告。

因此,简而言之,Parceler 主要使用代码生成来处理编写 Parcelable 样板,但在某些情况下会诉诸反射。

于 2017-06-02T16:39:31.667 回答