转framework开发快一年了,也对这一行有了一定的看法,,今年也看到很多做应用开发的小伙伴面临着裁员危机,当然知道的也希望更了解framework开发,所以趁着工作闲暇之余聊聊 framework。Framework与我们Android程序员不管求职还是跳槽都是息息相关的。
一、Framework是什么?
Android Framework是Android操作系统的核心部分,它为应用开发者提供了一系列API,使得开发者可以更方便地开发出功能丰富的应用程序。Framework主要包括以下几个部分:
- 四大组件:Activity、Service、BroadcastReceiver和ContentProvider
- 系统资源:如布局、字符串、颜色、尺寸等
- 事件处理:如触摸、按键、手势等
- 系统服务:如通知、位置、电话、短信等
二、Framework能给你带来什么
- 提高开发效率
熟练掌握Framework的API和组件,可以帮助程序员快速完成应用程序的开发,提高开发效率。同时,Framework提供了一系列丰富的系统资源和服务,使得开发者可以更专注于业务逻辑的实现,而不必为底层实现费心。
举个例子,如果你了解 Android App 的启动机制,优化启动速度的时候会更得心应手:
定制什么样的 StartingWindow;什么时候可以拿到图片的宽高;DelayLoad 怎么做才会更合适;Service 什么时候启动可以不影响启动速度;Activity onResume 回调的时候真的可见了么?Redex 为什么会加快应用启动速度?
再比如我们经常说的 Handler,MessageQueue,Looper。看源码你就可以更好的理解那些概念:ThreadLocal 做什么的;Thread 和 Handler 的关系;为什么不能在子线程更新 UI?
再比如说 Android 的进程管理机制。AMS 把 Android 进程按照一定的规则,设置不同的优先级,在内存比较低的时候,高优先级的 App 比低优先级的 App 更不容易被系统干掉!那么 AMS 是按照什么规则来设置优先级的呢?了解这些规则是不是可以提高 App 的存活率呢?这都是可以通过熟读 AMS 代码知道的。
再比如说 Activity 启动的模式,可能你会熟练使用各种模式,但是如果你学习 Framework 中 Activity 和进程的管理,知道 Activity 栈和 Task 的管理。那么你会对这启动模式的使用更加深刻。
- 促进代码复用和模块化
Framework提供了一系列通用的组件和API,使得开发者可以在不同的项目中复用相同的代码,提高代码的可维护性和可扩展性。此外,Framework还支持模块化开发,使得开发者可以将不同功能模块独立开发,从而降低项目复杂性。
3.求职、跳槽、转行,Android程序员你都离不开它
企业在筛选Android程序员时越来越看中一个程序员对于Android底层的理解和思考,这里的底层主要就是Android Framewok中各个组件的运行原理,例如Binder的运行机制、ServiceManager的作用等等。
在Android面试中,关于 Framework 的问题是必备的
而且不管是Android开发还是车载或者视频算法。。。。等等 都需要用到framework这项技术。
最后
面对现在严峻的形势,我们需要静下思考,认真规划,戒骄戒躁,步步落地。如果你不想卷应用开发了,或者还想待在应用开发这条路上,framework的学习是有必要的。
标签:跳槽,framework,求职,Framework,开发,开发者,Activity,Android,TA From: https://blog.51cto.com/u_16175637/7395242