第一代通讯技术,简单来说就是大哥大. 其原理是通过
模拟信号进行传输
问题所在:
1.必须同频道. 不同频道的人不能通话. 类似于收音机
2.保密性差,容易被窃听.
工作原理:
从模拟信号到数字信号的转变
转变是什么意思:
1.首先交变电流会容易窃取.所以说话的声音转变为二进制
2.接收端就将二进制转变出来即可. 二进制是有保密的
总结来说就是 二进制加密传输.
体积变小了
产生的功能:
短信与彩信
某些2G系统也支持资料的传输与传真了
工作原理:
采用了数字通讯的方式
功能: 可处理图像 音乐 视频 等多种媒体形式
可以说3G手机才开始火起来. 手机进入智能时代
工作原理: 集3G和无线局域网为一体 算是扩展
功能: 可以看短视频 比如现在的 抖音 快手 可以看高清电视.等等
GSM-->GPRS-->EDGE-->WCDMA-->HSDPA-->FDD-LTE
这些才是从零到有发展的专业名字. 了解下即可.
可以百度看一下.
传输数据的演变
9K 42K 360K 7.2M 300M 等 现在5G也出来了.传输越来越快.
如下图所示
1.最底层 LinuxKernel (Linux 内核)我们不管写任何程序都是C语言来写的.所以最底层是整个核心支持库
2.HAL层 硬件抽象层. Android是没有这个的. 为什么这里会有.原因是每个厂商都会定制的.因为Android是开源的 按理说是没有的. 因为是定制的.不想让其它人直接修改你底层的代码.
所以自己封装了一层. 大部分也是驱动代码.
3.Lib库层. 为了便于程序员的学习成本. 封装的一层.这样就更简单了. 都是C语言写的.封装成方法.
不用你操作底层了.
4.应用框架层. 与应用层 都是Java代码写的. 为了让程序员用Java直接调用C.所以封装了新的层.
这样直接用Java调用方法即可. 方法内部会调用C不用你去调用C了.
5.应用层 应用层更简单了.提供各种各样的控件.直接调用方法就行了.
重要一层:
位于Library层的 Android Runtim层. 以后做逆向会用到.
安卓运行时. Java跑在Jvm中. 其实DVM 就是虚拟机. 主要是因为版权问题. 所以不适用.
其实也可以理解为JVM.
DVM JVM 都是构建在 OpenJdk上来开发的. GPL协议放出
1.编译方式的区别
jvm : 首先 .java文件 编译为.class文件 然后最终变为.jar包
DVM: .java->.class->.dex(压缩版的.jar)
2.架构
JVM: 基于堆栈的形式
DVM: 基于 寄存器结构
寄存器比堆栈快 所以肯定dex快.
.jar 是最原始的打包.
.dex 是将java中类中的 公共方法等进行优化. 比如A B两个类.都有一个方法C 而C逻辑是一样的.所以
我直接提取出来.