gpt4 book ai didi

java - 在Android中从parcel中读取对象时,我们不想使用默认的ClassLoader?

转载 作者:太空狗 更新时间:2023-10-29 13:28:31 24 4
gpt4 key购买 nike

在实现 Parcelable 接口(interface)时,CREATOR 实现通常使用接受 Parcel 的构造函数,例如

public Foo(Parcel parcel)

在这个包裹中,我们可能有这样的代码

mMyField = parcel.readParcelable(MyFoo.class.getClassLoader())

据我所知,通常只使用默认类加载器并传入 null 就可以了,因为 parcel.writeParcelable(mMyField) 已经将类名存储在包裹中。

所以我的问题是,我什么时候需要使用 MyFoo.class.getClassLoader() 而不是传入 null?

最佳答案

由于 Parcel 存储有关其类的信息,而不是类本身,因此将从名称加载该类,例如 java/util/ArrayList。如果您的类不在类路径中或 .class 文件在远程服务器上,您甚至需要使用可以访问它的不同类加载器,例如 URLClassLoader

关于java - 在Android中从parcel中读取对象时,我们不想使用默认的ClassLoader?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18772841/

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