2020Android开发陷入饱和,移动开发者未来的出路在哪里,我们该如何让应对?

本文详细介绍了Android系统的层级结构,包括视图系统、系统运行库层、Android运行库和Linux内核层。讨论了Android的碎片化问题以及Google为解决此问题的ProjectMainline。此外,还涵盖了Android应用开发的演进,如跨平台技术、软件架构模式、热修复和插件化。最后,展望了Android的未来,特别是Fuchsia系统可能带来的影响,以及Android开发人员面临的挑战和建议。
  • 视图系统(View System):一个可拓展的视图集合,用于创建应用程序用户界面

3,系统运行库层

程序库

Android包含一些C/C++库,这些库能被Android系统中不同的组件使用。他们通过Android应用程序框架为开发者提供服务,以下是一些核心库:

  • 系统C库(libc):一个从BSD继承来的标准C系统函数库,他是专门为基于embedded linux的设备定制的媒体库(Media Framework):基于Packet Video opencore; 该库支持多种常用的音频、视频格式回放和录制,同时支持静态图像文件。编码格式包括 MPEG4。H264、MP3、AAC、AMR、JPG、PNG。
  • Surface Manager:对显示子系统的管理,并且为多个应用程序提供了2D和3D图层的无缝融合。
  • SGL:底层的2D图形引擎。
  • 3D libraries:基于OpenFLES1.0 APLs实现,该库可以使用硬件3D加速或者使用高度优化3D软加速。
  • FreeType:位图(bitmap)和矢量(vector)字体显示。
  • SQLite:一个对于所有应用程序可用,功能强劲的轻型关系型数据库引擎。

Android运行库

Android包括了一个核心库,该核心库提供了Java编程语言核心库的大多数功能。

每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。Dalvik被设计成一个设备可以同时高效地运行多个虚拟系统。Dalvik虚拟机执行(.dex)的Dalvik可执行文件,该个税文件针对小内存使用做了优化。同时虚拟机是基于寄存器的,所有的类都经由java编译器编译,然后通过SDK中的”dx”工具转化成 .dex格式由虚拟机执行

Dalvik虚拟机依赖于linux内核的一些功能,比如线程机制和底层内存管理机制。

4,Linux内核层

Android系统基于Linux2.6内核,这一层为Android设备各种硬件提供了底层驱动,如显示驱动,音频驱动,照相机驱动,蓝牙驱动,WIFI驱动,电源管理等

Android系统碎片化

Android历经10余年的迭代,在流畅性、内存、续航、安全、隐私等方面都取得很大的进步,但Android系统的碎片化一直是痛点问题,带来不一致的用户体验。

Android的开放性,是其长久发展的主要原因,让大多数的厂商都选择Android系统,但开放性的背后是碎片化,从Android诞生至今问题就一直存在,Google一直在努力从技术角度来解决碎片

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值