Notice: 函数 WP_Scripts::localize 的调用方法不正确$l10n 参数必须是一个数组。若要将任意数据传递给脚本,请改用 wp_add_inline_script() 函数。 请查阅调试 WordPress来获取更多信息。 (这个消息是在 5.7.0 版本添加的。) in /data/www/appblog/wp-includes/functions.php on line 6131

Android使用Parcelable序列化复杂数据结构

Android序列化方案Parcelable,相比Serializable更快,效率更高,占用内存更少。

Boolean类型

//write
dest.writeByte((byte) (isDefault ? 1: 0));

//read
isDefault = source.readByte() != 0;

List类型

//write
dest.writeList(list);

//read
list = source.readArrayList(String.class.getClassLoader());
list = source.readArrayList(Integer.class.getClassLoader());
list = source.readArrayList(MyEntity.class.getClassLoader());

Map类型

//write
dest.writeMap(map);

//read
map = source.readHashMap(HashMap.class.getClassLoader());

Array数组

//write
if (array != null) {
    dest.writeInt(array.length);
} else {
    dest.writeInt(0);
}
dest.writeStringArray(array);

//read
int length = source.readInt();
array = new String[length];
source.readStringArray(array);

实体类

//如果实体类实现Serializable接口
//write
dest.writeSerializable(entity);
//read
source.readSerializable();

//如果实体类实现Parcelable接口
//write
dest.writeParcelable(entity, flags);
//read
source.readParcelable(MyEntity.class.getClassLoader());
上一篇 Android ObjectAnimator记录
下一篇 Android ANR超时时间的定义