android中接口的作用是什么意思,Android为什么要序列化
android为什么要序列化?什么是序列化,怎么进行序列化
why
为什么要了解序列化?—— 进行Android开发的时候,无法将对象的引用传给Activities或者Fragments,我们需要将这些对象放到一个Intent或者Bundle里面,然后再传递。
what
什么是序列化 —— 序列化,表示将一个对象转换成可存储或可传输的状态。序列化后的对象可以在网络上进行传输,也可以存储到本地。
how
怎么通过序列化传输对象?
Android中Intent如果要传递类对象,可以通过两种方式实现。
方式一:Serializable,要传递的类实现Serializable接口传递对象,
方式二:Parcelable,要传递的类实现Parcelable接口传递对象。
Serializable(Java自带):
Serializable是序列化的意思,表示将一个对象转换成可存储或可传输的状态。序列化后的对象可以在网络上进行传输,也可以存储到本地。
Parcelable(android 专用):
除了Serializable之外,使用Parcelable也可以实现相同的效果,
不过不同于将对象进行序列化,Parcelable方式的实现原理是将一个完整的对象进行分解,
而分解后的每一部分都是Intent所支持的数据类型,这样也就实现传递对象的功能了。
实现Parcelable的作用
1)永久性保存对象,保存对象的字节序列到本地文件中;
2)通过序列化对象在网络中传递对象;
3)通过序列化在进程间传递对象。
选择序列化方法的原则
1)在使用内存的时候,Parcelable比Serializable性能高,所以推荐使用Parcelable。
2)Serializable在序列化的时候会产生大量的临时变量,从而引起频繁的GC。
3)Parcelable不能使用在要将数据存储在磁盘上的情况,因为Parcelable不能很好的保证数据的持续性在外界有变化的情况下。尽管Serializable效率低点,但此时还是建议使用Serializable 。
应用场景
需要在多个部件(Activity或Service)之间通过Intent传递一些数据,简单类型(如:数字、字符串)的可以直接放入Intent。复杂类型必须实现Parcelable接口。
使用实例及两种序列化的对比
android中接口的作用是什么意思,Android为什么要序列化相关推荐
- android中接口的作用是什么意思,详解Android接口Interface的使用和意义
本文介绍是Android的一个重要的东西,接口Interface,详解两个方面: (1)Java是继承的,接口Interface是可以多个的,恰恰弥补了这个缺点. (2)回调,接口Interface里 ...
- android system.out.println,为什么“System.out.println”在Android中不起作用?
为什么"System.out.println"在Android中不起作用? 我想在控制台中打印一些东西,这样我就可以调试它了.但出于某种原因,我的Android应用程序中没有打印任 ...
- Java中接口的作用,为什么要写接口?
** Java中接口的作用 转载于:https://www.zhihu.com/question/20111251 ** **困惑:**例如我定义了一个接口,但是我在继承这个接口的类中还要写接口的实现 ...
- not found for signing config ‘debug‘Android中meta-data的作用xmlns:tools=“http://schemas.android.com/
目录 not found for signing config 'debug' Android中meta-data的作用 xmlns:tools="http://schemas.androi ...
- android中gradle的作用,Gradle 之 Android 中的应用
在上一篇文章中 Gradle 之语言基础 Groovy 主要介绍了 Groovy 的基础语法(如果没有 Groovy 的基础,建议先看看上篇文章,如果可以动手敲一下里面的示例代码就更好不过了),也是为 ...
- android中uri的作用,Android UrlUri详细解析
概述 在项目开发中,有时会遇到解析Url.Uri的需求,要从中得到链接中的相应字段.参数等.有多种实现方式,在这里总结一下应用到的. URL与URI的区别 Uri - 统一资源标志符 Url - 统一 ...
- android中的mvp模式怎么定义,在android中使用MVP模式
1.MVP介绍java 随着UI建立技术的功能日益加强,UI层也履行着愈来愈多的职责.为了更好地细分视图(View)与模型(Model)的功能,让View专一于处理数 据的可视化以及与用户的交互,同时 ...
- 【Android 安装包优化】WebP 图片格式兼容与性能 ( Android 中的 WebP 图片格式兼容问题 | Android 中的 WebP 图片格式性能 )
文章目录 一.Android 中的 WebP 图片格式兼容问题 二.Android 中的 WebP 图片格式性能 三.参考资料 一.Android 中的 WebP 图片格式兼容问题 在 Android ...
- android中注册的账号密码储存在,Android中使用SharedPreferences完成记住账号密码的功能...
效果图: 记住密码后,再次登录就会出现账号密码,否则没有. 分析: SharedPreferences可将数据存储到本地的配置文件中 SharedPreferences会记录CheckBox的状态,如 ...
最新文章
- 马化腾:腾讯要帮助中国加快数字化,主要靠小程序(附演讲)
- C++文件流:myfstream,fstream,文件读写,随机文件读写【C++文件流】(59)
- hdu hide handkerchief
- SpringBoot依赖注入
- 我的runtime学习笔记
- 极光推送 android 最新,Android——快速集成极光推送-Go语言中文社区
- HTML的Get方法URL传递中文参数,解决乱码问题
- 「Leetcode」242. 有效的字母异位词:可以拿数组当哈希表来用,但哈希值不要太大!
- Hololens Vuforia 物体识别
- 6. Keras-RNN应用
- 小米8绑定账号和设备验证失败_网赚项目刚需账号答疑大集合!
- 免费屏幕录像软件哪个好?简单几步教你快速录制无水印的高清视频!
- CSDN、博文视点名家讲坛之夏昕、林信良谈Spring框架
- 设置计算机用户权限,计算机管理员权限在哪里设置_电脑系统如何设置管理员权限-win7之家...
- 获取键盘按下的键位对应ask码
- ORA-04021导致oracle11gADG备库宕机问题处理
- 《Python网络爬虫从入门到实践 第2版》第14章 爬虫实践一:维基百科
- 哪家的微信三级分销系统功能比较好
- 若川的2019年度总结,波澜不惊
- 中文 latex 排版没有斜体
热门文章
- 发布一个域安全级别的无代码InfoPath表单作为文档库模版 (InfoPath 一)
- 用贝叶斯定理解决三门问题并用Python进行模拟(Bayes‘ Rule Monty Hall Problem Simulation Python)
- Facebook 面向个性化推荐系统的深度学习推荐模型
- 算法工程师面试备战笔记9_支持向量机(SVM)中的支持向量是什么意思
- 腾讯广告算法大赛 | 萌新粉丝投稿讲述数据竞赛小白观赛心得
- 显示所有大写字母python_python 输出所有大小写字母, range()以及列表切片
- 朋友圈发图多大不会被压缩_类风湿会不会引发肾病?会!本文告诉你对内脏的伤害有多大...
- Facebook账户 “ 解封、防封、养号 ” 知识要点
- 跨境电商,独立站和第三方平台孰更具优势?
- 宝塔linux修改默认编码,宝塔linux面板防护CC设置(示例代码)