Android Framework 入门第一课

Posted 王睿丶

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android Framework 入门第一课相关的知识,希望对你有一定的参考价值。

1、 Framework 是什么?

用一个例子来理解,其实我们写的App并不是一个完整的程序。我们写的只是一个套件组,就是一堆Activity,Service等等的组件(这些大家肯定都知道)。这个套件组给Framework框架组合在一起才是一个完整的程序。它包含了:服务端、客户端、linux驱动。

我认为韦天飞这位博主对Framework是什么解释的特别好,可参考:博主:韦天飞 - Android之初学framework开发的理解

2、Framework层下的各个目录分支分别是什么

在这里插入图片描述
参考的是:博主:古道异禀 - Android framework目录结构

3、android Framework原理

参考:https://www.liangzl.com/get-article-detail-38189.html

4、Framework的base目录内容分析

博主:bill_live - Android Frameworks的base目录内容分析 “Android Frameworks base”

5、学习 Android 的 Framework 层对工作有什么帮助吗?

参考:作者:兔兔雨 - https://www.zhihu.com/question/350047125

在我看来,APP开发和Android framework工程师是2个不同的工种;需要的知识结构不太一样;APP开发:Android四大组件用法;熟悉设计模式;熟悉ANR的一些基本原理;常用的开发框架;跨平台的方案(RN还是flutter或者cocos2dx),能够解决定位内存泄露问题,还有JNI开发,多线程编程,热更新等等;然后自己从头到尾开发过一个完整的APP;把这些学好,感觉这时候的你的技术能力应该可以开发应用商店里90%的APP啦.为了避免卡顿,感觉也不需要了解太多framework的东西,耗时的操作统统放在子线程\\系统耗时的函数统统放在子线程;勤加log,勤调试;但是你要做微信\\QQ\\今日头条等等这样极度关注用户体验的超级APP;上面的知识结构远远不够;这时候如果你要优化APP性能这时候据需要熟悉Activity的启动和Android整个渲染机制,甚至还要和手机厂商合作,比如:mtk芯片公司会专门给微信提供对CPU拉频摆核的接口, @Gracker的回答挺详细啦;通常说来,业务决定一切;中小型公司体量有限,没有资源去做太多体验优化这样锦上添花的事情,公司不会让你花1个星期的时间去做APP流畅了一点的优化;但如果你想进大厂,技术就需要进阶;Android系统开发工程师:可以分很多工种;手机公司会有:稳定性\\性能优化\\多媒体\\相机\\kernel等等;单单性能优化有framework层面的\\有内存专家\\CPU调度\\文件系统专家;其中任何一个模块要精通都需要付出巨大的精力,并且需要理论联系实践;我毕业做Android开发做了3年;中间自己还研究过cocos2dx,能达到做项目的程度;后面转去做Android framework啦,到现在做framework做了2年啦!自从开始做framework就有读不完的代码,现在越来越力不从心;好处是满足了自己的好奇心,写代码越来越少啦,对系统的分析能力增强啦;但2年不做APP,已经跟不上APP开发的技术啦,没研究过RN\\flutter这样的新技术;另外预警一下:Android更新代码速度太快了,比如:Android6.0开机过程还没有direct boot;7.0就有了;所以做项目的时候得不断的读代码,读代码,读代码;千万不要觉得你熟悉代码了,因为下一个项目,版本一变你又得去学习了解啦!所以学不学framework还是看你个人规划;想进大厂,就下苦功夫,在大家都掌握基本开发技巧的情况下,这个就是加分项;如果只是以技术一种生存手段,不准备去大厂,没必要那么折腾啦,因为学了公司没没机会让你用.废话完毕

以上是关于Android Framework 入门第一课的主要内容,如果未能解决你的问题,请参考以下文章

typescript入门第一课

Spring入门第二十一课

Svelte 入门第一课

HTML(入门第一课)

JavaScrip 入门第一课

VueJS + TypeScript 入门第一课