深入理解Android相机体系结构之十一

该系列文章总目录链接: https://blog.csdn.net/u012596975/article/details/107135938
本篇是《深入理解Android相机体系结构》连载文章的第十一篇。

手机相机的未来与发展

Android相机发展至今,通过开发者对框架的不断优化,算法人员对图像处理算法的不断提升,硬件工程师对硬件性能地不断调教,换来了在某些领域完全可以媲美专业相机的成像效果,这些成绩是有目共睹的,但是我们不能仅仅着眼于过去,试着将眼光放得长远些,如何将Android相机推向更高的维度,使其成为手机相机的王者,想必这是每一个热衷于技术的开发者都需要反复思考的问题,当然就我个人而言,对于它的未来,有着我自己的思考。

Android相机,首先是基于Android系统,所以对于系统端的优化,我相信Google依然会不断的进行完善,特别地,谷歌一直奉行着接口与实现相分离的设计原则, 这就将很多的实现让渡给各自有实现需求的开发者,所以其实我们有很大的创作空间,比如App部分,通过设计良好的业务框架,让整个相机应用在一个高效且稳定的框架中运行,处理来自用户需求,下发图像需求至相机框架中。又比如对于Camera Hal的实现,其实这部分高通做的已经相当完备,从QCamera&MM-Camera架构到而今的CamX-CHI,都是在为上层提供更好地相机而努力着,但是框架谈不上完美,只能是比较符合当下实际情况,针对CamX-CHI而言,存在着内存占用过大以及CPU负载较高的问题,这些也是我们作为开发者所需要去攻克的难题。

麻雀虽小,五脏俱全,Android相机的小体积中俨然具备着一个完整的相机硬件体系,从光圈到透镜组,再到感光器件最后到后期的图像处理模块,每一个器件都承担着自己特有的使命。对于整套硬件体系而言,对于每一个器件的一个小小的提升都有可能使其在一系列竞争者中脱颖而出,比如某品牌的一亿像素,由于机身厚度的限制,大尺寸的CMOS会给透镜组乃至后期的算法处理带来不小的压力。

一张完美的图像,仅仅依靠前期的成像系统是远远不够的,就像当我们看见一副美景时,心中所呈现的并不是单单眼前的景色而已,我们所独有的人生阅历会在我们心中不经意地给其铺上一层独特的滤镜,赋予其独特的意义,而对于相机系统而言,算法便是其给图像铺上灵魂滤镜的关键因素,不同的算法可以赋予图像不同的属性,但是评价算法的好坏,经常会通过效果与效率两个方面来衡量,所以图像的更多意义,需要更多的算法来实现,而算法的更好更快处理便是其实现的目标,一个好的算法往往能够为平庸无奇的图像带来质的飞跃。

而今的Android相机已经完全不局限于记录身边的美好,而是在创造属于每个人的美好,可以通过它来和相隔万里的亲人朋友进行视频通讯,可以编辑属于自己的独一无二的图像表情,可以让多个自己存在在同一个空间中,以及通过萌拍模式记录下自己的可爱瞬间等,这一切的一切都极大的扩展了Android相机的功能性和可玩性,所以针对新Feature的开发,势必是一个大的趋势,这也印证了一个道理,对于相机的开发,我们有时候不是在满足需求,而是在创造需求。

最后,纵观Android历史,不难发现谷歌自始至终秉承着开源普惠大众的宗旨,从未停止过对Android系统的迭代优化,在整个Android相机系统架构中,不难发现接口与实现相分离的这一简单设计原则在其身上随处可见,这样既保证了整体架构的足够稳定,也实现了系统细节实现的多样性,同时也体现出了强大的灵活性,总的来讲,这样一套优秀的架构体系并且依托如今强大的硬件设备,加之全球开发者们在算法、新feature的不懈努力,我相信Android 相机会在以后的发展中一路高歌猛进,超越苹果成为手机相机领域的王者。

  • 11
    点赞
  • 8
    收藏
  • 打赏
    打赏
  • 1
    评论
深入理解Android:卷I》是一本以情景方式对Android的源代码进行深入分析的书。内容广泛,以对Framework层的分析为主,兼顾Native层和Application层;分析深入,每一部分源代码的分析都力求透彻;针对性强,注重实际应用开发需求,书中所涵盖的知识点都是Android应用开发者和系统开发者需要重点掌握的。 全书共10章,第1章介绍了阅读本书所需要做的准备工作,主要包括对Android系统架构和源码阅读方法的介绍;第2章通过对Android系统中的MediaScanner进行分析,详细讲解了Android中十分重要的JNI技术;第3章分析了init进程,揭示了通过解析init.rc来启动Zygote以及属性服务的工作原理;第4章分析了Z ygote、SystemServer等进程的工作机制,同时还讨论了Android的启动速度、虚拟机HeapSize的大小调整、Watchdog工作原理等问题;第5章讲解了Android系统中常用的类,包括sp、wp、RefBase、Thread等类,同步类,以及Java中的Handler类和Looper类,掌握这些类的知识后方能在后续的代码分析中做到游刃有余;第6章以MediaServer为切入点,对Android中极为重要的Binder进行了较为全面的分析,深刻揭示了其本质。第7章对Audio系统进行了深入的分析,尤其是AudioTrack、AudioFlinger和AudioPolicyService等的工作原理。第8章深入讲解了Surface系统的实现原理,分析了Surface与Activity之间以及Surface与SurfaceFlinger之间的关系、SurfaceFlinger的工作原理、Surface系统中的帧数据传输以及LayerBuffer的工作流程。第9章对Vold和Rild的原理和机制进行了深入的分析,同时还探讨了Phone设计优化的问题;

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论 1

打赏作者

xiaozi63

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值