引言:
从接触Android学习到开发马上就有3年了,讲道理是不是也该算是一个熟练的码农了(啥时候能成大牛啊),但是你问我Android都有哪些技术啊,开发过程中都有什么难点啊,好吧,我还真的不知道从何讲起,所以下定了决心,准备像各路大牛学习,坚持写,整理记录自己的脑子里的知识。
一、Android系统简介
Android系统:Google公司发布的手机或者平板上的运行系统,现在最新(180814)的系统更新到了9.0吧,世界上4.03之前的系统应该没人再用了,在Android创建新项目的时候,最低版本选择4.03的时候,它就告诉我,这个选项已经含括了世界上100%的终端设备。每次大的升级都有很多新特性,接下来简单记录一下:
1、Android 5.0
(1)5.0之前Android系统都是运行在Dalvik虚拟机上,5.0之后运行环境是ART虚拟机,提升了运行速度。
(2)提出Material Design设计风格来美化界面设计
(3) .......
2、Android 6.0
(1)运行时权限管理
(2)电量优化
(3)规范化APP Link
(4).......
3、Android 7.0
(1)新的Notifycations
(2)多窗体支持(分屏模式)
(3)随时随地低耗电
(4)优化大型应用的安装速度
(5)......
4、Android 8.0
(1)TensorFlow Lite 人工智能的尝试
(2)画中画,在你使用的程序中可以小窗使用其他程序
(3) Notifycations Dots 应用程序图标上出现通知小点提示,长按可查看
(4)Play Console Dashboard 开发人员工具(还没用过,准备看看)
(5)自定义字体终于支持了
(6)....
5、Android 9.0
(1)室内wifi定位
(2)刘海平的支持(好吧,我一直觉得很丑)
(3)Notifycation (每个版本你都改)
(4)通道设置,广播以及免打扰
(5)多相机支持
(6)新的图片解码,动画优化
(7)....
Android版本基本上是一年一个,哎,感觉做一个Android程序猿好累啊,每天都要学习新东西,不然很容易就被谷歌抛弃了,5.0之前的技术我就不建议大家去看了,感觉5.0以上机型基本都是最低国人配置了。好吧东西很多,写到这里发现自己要学习的东西还很多,接下来再介绍一下Android的系统架构...
二、Android系统架构
Android系统分为四层架构
1、Linux内核层
Android系统是基于Linux内核的,Android系统提供硬件的驱动,音频驱动,视频驱动,蓝牙,wifi驱动等等吧。(一般作为android应用开发,没必要学习这些东西)
2、系统运行库层
C/C++ 为Android提供解决一些Java代码干不好的事,比如OpenGL/ES 3D绘图,WebKit提供了浏览器内核的支持。(这个作为android开发的我们来说还是很值得学习)
3、应用框架层
提供Android构建程序所需要的API,我感觉就是SDK
4、应用层
安装在你手机上的应用程序就是组成这一层的东西了