- 浏览: 113966 次
- 性别:
- 来自: 重庆
文章分类
最新评论
android 中自定义的对象序列化的问题有两个选择一个是Parcelable,另外一个是Serializable。
一 序列化原因:
1.永久性保存对象,保存对象的字节序列到本地文件中;
2.通过序列化对象在网络中传递对象;
3.通过序列化在进程间传递对象。
二 至于选取哪种可参考下面的原则:
1.在使用内存的时候,Parcelable
类比Serializable性能高,所以推荐使用Parcelable类。
2.Serializable在序列化的时候会产生大量的临时变量,从而引起频繁的GC。
3.Parcelable不能使用在要将数据存储在磁盘上的情况,因为Parcelable不能很好的保证数据的持续性在外界有变化的情况下。尽管Serializable效率低点,
也不提倡用,但在这种情况下,还是建议你用Serializable
。
实现:
1 Serializable 的实现,只需要继承 implements Serializable 即可。这只是给对象打了一个标记,系统会自动将其序列化。
2 Parcelabel 的实现,需要在类中添加一个静态成员变量 CREATOR,这个变量需要继承 Parcelable.Creator 接口。
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->public class MyParcelable implements Parcelable {
private int mData;
public int describeContents() {
return 0;
}
public void writeToParcel(Parcel out, int flags) {
out.writeInt(mData);
}
public static final Parcelable.Creator<MyParcelable> CREATOR
= new Parcelable.Creator<MyParcelable>() {
public MyParcelable createFromParcel(Parcel in) {
return new MyParcelable(in);
}
public MyParcelable[] newArray(int size) {
return new MyParcelable[size];
}
};
private MyParcelable(Parcel in) {
mData = in.readInt();
}
}
private int mData;
public int describeContents() {
return 0;
}
public void writeToParcel(Parcel out, int flags) {
out.writeInt(mData);
}
public static final Parcelable.Creator<MyParcelable> CREATOR
= new Parcelable.Creator<MyParcelable>() {
public MyParcelable createFromParcel(Parcel in) {
return new MyParcelable(in);
}
public MyParcelable[] newArray(int size) {
return new MyParcelable[size];
}
};
private MyParcelable(Parcel in) {
mData = in.readInt();
}
}
转载至:http://www.blogjava.net/lincode/archive/2011/09/16/358805.html
发表评论
-
Android Camera 使用小结
2012-03-06 17:07 1433Android Camera 使用小结 Android手 ... -
Android权限说明
2012-03-05 14:12 618程序执行需要读取到安全敏感项必需在androidma ... -
Android Bitmap和Canvas学习笔记
2012-03-05 11:45 718位图是我们开发中最常用的资源,毕竟一个漂亮的界面对用户是最 ... -
详解 Android 的 Activity 组件
2012-02-29 09:24 829Activity 的生命周期 和 J2ME 的 MI ... -
JNI技术与Android应用
2012-02-20 17:08 2751本文转自http://www.cnblogs.com/y ... -
如何发布打包并发布自己的Android应用(APP)
2012-02-20 15:30 712前面讲的都是关于And ... -
Android JNI知识简介
2012-02-16 17:33 762Java Native Interface (JNI)标准是j ... -
Android NDK: Host 'awk' tool is outdated.
2012-02-16 16:27 1127在使用Android NDK进行编译的时候可能会出现 Andr ... -
windows+eclipse+cygwin+cdt+ndk
2012-02-16 15:56 891代码下载 - 公共邮 ... -
解决Android自定义标题栏充满的问题
2012-02-15 10:27 777一个接着一个的activi ... -
WebView使用
2012-02-10 11:43 823WebView使用: Java代码 ... -
Android自定义title bar(标题栏)
2012-02-10 11:40 1184我们在开发程序是经常会需要软件全屏显示、自定义标题(使用按 ... -
Android应用开发中的风格和主题(style,themes)
2012-02-10 11:09 9693越来越多互联网企业都在Android平台上部署其客户端, ... -
Android 对话框(Dialog)大全 建立你自己的对话框
2012-02-10 10:03 749Activities提供了一种方便管理的创建、保存、回复 ... -
PerferenceActivity用法
2012-02-10 10:01 955看到很多书中都没有 ... -
android:webView总结
2012-02-09 15:53 1176android:webView总结 大部分内容为网 ... -
Android中Intent传递对象的两种方法(Serializable,Parcelable)
2012-02-07 17:16 760转载自 http://blog.csdn.net/xyz ... -
Android拟器不能正常上网
2012-01-19 11:18 854启动模拟器后,可能模拟器不能正常上网,需要对模拟器进行设 ... -
Android平台常见属性集合
2012-01-19 10:56 870属性 值 说明 ... -
Android平台常见属性集合
2012-01-19 10:42 1属性 值 说明 android:orientation hor ...
相关推荐
Android序列化——Serializable与Parcelable
android中Intent传递对象的两种方法(Serializable,Parcelable) 简单而又详细的demo,欢迎下载
Android 数据传递(Intent、Bundle、Serializable、Parcelable等),如项目包有问题请联系我谢谢
大家都知道在intent传递对象的方法有两种:1、实现Serializable接口、2、实现Parcelable接口,接下来通过本文给大家介绍Intent传递对象之Serializable和Parcelable的区别,感兴趣的朋友一起学习吧
主要介绍了Java Serializable和Parcelable详解,并附实例代码的相关资料,需要的朋友可以参考下
主要介绍了Android中Serializable和Parcelable序列化对象的相关资料,感兴趣的小伙伴们可以参考一下
Android中Intent中如何传递对象,就我目前所知道的有两种方法,一种是Bundle.putSerializable(Key,Object);...当然这些Object是有一定的条件的,前者是实现了Serializable接口,而后者是实现了Parcelable接口。
面试官:“说一下Serializable接口和Parcelable接口的区别吧。” 我们可以从以下两方面来说一说~ 首先我们先给两者来个简单的介绍: 1.定义 Serializable(Java自带): Serializable是序列化的意思,表示将一个对象...
二者的使用场景和区别: 1)在使用内存的时候,Parcelable比Serializable性能高,所以推荐使用Parcelable。 2)Serializable在序列化的时候会产生大量的临时变量,从而引起频繁的GC。 3)Parcelable不能使用在要将...
Android Intent传递对象的两种方法(Serializable,Parcelable)详细介绍 今天要给大家讲一下Android中Intent中如何传递对象,就我目前所知道的有两种方法,一种是Bundle.putSerializable(Key,Object);另一种是Bundle....
主要介绍了 Android中使用Intent在Activity之间传递对象(使用Serializable或者Parcelable)的方法的相关资料,需要的朋友可以参考下
主要介绍了Android Parcelable与Serializable详解及区别的相关资料,需要的朋友可以参考下
Android通过Parcelable和Serializable实现各种类型嵌套序列化
android Activity之间数据传递 Parcelable和Serializable接口的使用的具体实例代码,详情请看>http://blog.csdn.net/js931178805/article/details/8268144
bundle传递基本数据,Parcelable类型数据,Serializable类型数据