博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
flutter全屏时钟!Flutter尽然还能有这种操作!薪资翻倍
阅读量:4151 次
发布时间:2019-05-25

本文共 1359 字,大约阅读时间需要 4 分钟。

程序员与别的专业有所不同,其他专业都是越老越香,而程序员却是一个例外,因为计算机技术更新太快,而且工作强度很大,因此大部分程序员只会写 3 年代码。3 年后要不晋升做项目经理,要么转行,个别研究所除外。

1、作用

Serializable的作用是为了保存对象的属性到本地文件、数据库、网络流、rmi以方便数据传输,当然这种传输可以是程序内的也可以是两个程序间的。而Android的Parcelable的设计初衷是因为Serializable效率过慢,为了在程序内不同组件间以及不同Android程序间(AIDL)高效的传输数据而设计,这些数据仅在内存中存在,Parcelable是通过IBinder通信的消息的载体。

从上面的设计上我们就可以看出优劣了。

2、效率及选择

Parcelable的性能比Serializable好,在内存开销方面较小,所以在内存间数据传输时推荐使用Parcelable,如activity间传输数据,而Serializable可将数据持久化方便保存,所以在需要保存或网络传输数据时选择Serializable,因为android不同版本Parcelable可能不同,所以不推荐使用Parcelable进行数据持久化。

3、编程实现

对于Serializable,类只需要实现Serializable接口,并提供一个序列化版本id(serialVersionUID)即可。而Parcelable则需要实现writeToParcel、describeContents函数以及静态的CREATOR变量,实际上就是将如何打包和解包的工作自己来定义,而序列化的这些操作完全由底层实现。

最后

都说三年是程序员的一个坎,能否晋升或者提高自己的核心竞争力,这几年就十分关键。

技术发展的这么快,从哪些方面开始学习,才能达到高级工程师水平,最后进阶到Android架构师/技术专家?我总结了这 5大块;

我搜集整理过这几年阿里,以及腾讯,字节跳动,华为,小米等公司的面试题,把面试的要求和技术点梳理成一份大而全的“ Android架构师”面试 PDF(实际上比预期多花了不少精力),包含知识脉络 + 分支细节。

Java语言与原理;

大厂,小厂。Android面试先看你熟不熟悉Java语言

高级UI与自定义view;

自定义view,Android开发的基本功。

性能调优;

数据结构算法,设计模式。都是这里面的关键基础和重点需要熟练的。

NDK开发;

未来的方向,高薪必会。

前沿技术;

组件化,热升级,热修复,框架设计

网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。

我在搭建这些技术框架的时候,还整理了系统的高级进阶教程,会比自己碎片化学习效果强太多,GitHub可见;

当然,想要深入学习并掌握这些能力,并不简单。关于如何学习,做程序员这一行什么工作强度大家都懂,但是不管工作多忙,每周也要雷打不动的抽出 2 小时用来学习。

不出半年,你就能看出变化!

什么工作强度大家都懂,但是不管工作多忙,每周也要雷打不动的抽出 2 小时用来学习。

不出半年,你就能看出变化!

转载地址:http://rbati.baihongyu.com/

你可能感兴趣的文章
Effective Java学习(通用程序设计)之——如果需要精确的答案,请避免使用float和double...
查看>>
Effective Java学习(通用程序设计)之——如果其他类型更适合,请尽量避免使用字符串...
查看>>
ThreadLocal类及应用技巧; 实现线程范围内数据共享
查看>>
Spring三种实例化bean方式
查看>>
使用Spring的FactoryBean用法
查看>>
Spring中Quartz的配置
查看>>
Hadoop视频学习地址
查看>>
封装JAVA 通过反射 POI导出Excel文件(直接可用 含测试代码)
查看>>
jquery省市县 三级联动
查看>>
使用Ztree 默认的增删改操作 和 自定义增删改按钮(是操作数据库实例,比较简单的修改了下)...
查看>>
spring AOP记录日志
查看>>
优化MySQL数据库性能
查看>>
45 个非常有用的 Oracle 查询语句
查看>>
找工作的一些感悟
查看>>
JDK6和JDK7中的substring()方法
查看>>
Java中的equals()和hashCode()契约
查看>>
如何使用建造者模式(Builder Pattern)创建不可变类
查看>>
Java你不知道的那些事儿—Java隐藏特性(上)
查看>>
使用Java创建RESTful Web Service
查看>>
Google Guava 库用法整理
查看>>