首页 > 其他分享 >不管求职还是跳槽,我不允许你还不知道TA

不管求职还是跳槽,我不允许你还不知道TA

时间:2023-09-07 11:01:07浏览次数:35  
标签:跳槽 framework 求职 Framework 开发 开发者 Activity Android TA

不管求职还是跳槽,我不允许你还不知道TA_Android

转framework开发快一年了,也对这一行有了一定的看法,,今年也看到很多做应用开发的小伙伴面临着裁员危机,当然知道的也希望更了解framework开发,所以趁着工作闲暇之余聊聊 framework。Framework与我们Android程序员不管求职还是跳槽都是息息相关的。

一、Framework是什么?

Android Framework是Android操作系统的核心部分,它为应用开发者提供了一系列API,使得开发者可以更方便地开发出功能丰富的应用程序。Framework主要包括以下几个部分:

  1. 四大组件:Activity、Service、BroadcastReceiver和ContentProvider
  2. 系统资源:如布局、字符串、颜色、尺寸等
  3. 事件处理:如触摸、按键、手势等
  4. 系统服务:如通知、位置、电话、短信等

二、Framework能给你带来什么

  1. 提高开发效率

熟练掌握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 的管理。那么你会对这启动模式的使用更加深刻。

  1. 促进代码复用和模块化

Framework提供了一系列通用的组件和API,使得开发者可以在不同的项目中复用相同的代码,提高代码的可维护性和可扩展性。此外,Framework还支持模块化开发,使得开发者可以将不同功能模块独立开发,从而降低项目复杂性。

3.求职、跳槽、转行,Android程序员你都离不开它

企业在筛选Android程序员时越来越看中一个程序员对于Android底层的理解和思考,这里的底层主要就是Android Framewok中各个组件的运行原理,例如Binder的运行机制、ServiceManager的作用等等。

在Android面试中,关于 Framework 的问题是必备的

而且不管是Android开发还是车载或者视频算法。。。。等等 都需要用到framework这项技术。

最后

面对现在严峻的形势,我们需要静下思考,认真规划,戒骄戒躁,步步落地。如果你不想卷应用开发了,或者还想待在应用开发这条路上,framework的学习是有必要的。

不管求职还是跳槽,我不允许你还不知道TA_Android_02

标签:跳槽,framework,求职,Framework,开发,开发者,Activity,Android,TA
From: https://blog.51cto.com/u_16175637/7395242

相关文章

  • 银河麒麟使用kickstart二次打包制作安装镜像ISO
    系统:银河麒麟V10SP2服务器:百信恒山TS02F-F30安装方式:服务器挂载ISO镜像进行安装 1、安装mkisofs软件包:#yuminstallgenisoimage2、将SP2系统文件拷贝到工作目录里:#mkdir/mnt/isodir#mkdir/mnt/buidiso#mount-oloopKylin-Server-10-SP2-x86-Release-Build......
  • 【漏洞复现】DataEase数据可视化分析工具SQL注入-CVE-2023-40771
    1、DataEase数据可视化分析工具简介DataEase是开源的数据可视化分析工具,帮助用户快速分析数据并洞察业务趋势,从而实现业务的改进与优化。DataEase支持丰富的数据源连接,能够通过拖拉拽方式快速制作图表,并可以方便与他人分享。前端:Vue.js、Element图库:ApacheECharts、AntV后......
  • 【JAVA】java.lang.IllegalStateException: Failed to get nested archive for entry
    无脑看:解压后,替换lib里的jar,在本窗口用命令:jar-xvf ***.jar进行打包就行了。 一、背景:替换jar包中lib里的jar包1、在经过360压缩软件打开后进行了替换,运行报错 (PS.有时候不显示日志的时候可以在bat最后加一个pause)2、在经过WINRAR压缩软件进行存储(stor......
  • pip install ale_python_interface 安装报错,ModuleNotFoundError: No module named 'a
    参考:https://www.cnblogs.com/hasakei/p/10035198.htmlhttps://blog.csdn.net/senjie_wang/article/details/84073823https://github.com/bbitmaster/ale_python_interface/issues/2https://blog.csdn.net/dream6985/article/details/127746687  ======================......
  • 牛客——SQL254 统计salary的累计和running_total
    描述按照salary的累计和running_total,其中running_total为前N个当前(to_date='9999-01-01')员工的salary累计和,其他以此类推。具体结果如下Demo展示。。CREATETABLEsalaries(emp_noint(11)NOTNULL,salaryint(11)NOTNULL,from_datedateNOTNULL,to_datedate......
  • 关于Kubernetes-v1.23.6-StartupProbe-启动探针的效果演示及说明
    本文,还是以一个nginx为例,创建一个nginx-demo的pod,并且引入启动探针StartupProbe,探针选项,位于spec:下面的containers:下面,与image选项同级的位置1、先看如下nginx-demo.yaml文件,内容如下:[root@k8s-masterqq-5201351]#catnginx-demo.yamlapiVersion:v1#api文档......
  • CSAPP-Data Lab
    gcc-O1-Wall-m32-lm-obtestbits.cbtest.cdecl.ctests.cInfileincludedfrombtest.c:16:0:/usr/include/stdio.h:27:10:fatalerror:bits/libc-header-start.h:Nosuchfileordirectory#include<bits/libc-header-start.h>^~~~~~~~~~~~~~~~~~~~~~......
  • Every derived table must have its own alias(sql语句错误解决方法)
    1、执行下面语句时,报错Everyderivedtablemusthaveitsownaliasselect*from(select*fromjt_noteswherecreateUser='b548323007b647809bb8e4192cf44195'limit0,10)2、解决方案,加一个别名就可以了select*from(select*fromjt_noteswherecreateUs......
  • fakit: 一个处理fasta序列的小工具 (二)
    上一篇博文中写到出了这个小工具,现在更新到0.2.4了,新增了一些子命令。有seqtk,seqkit等好用的工具珠玉在前,还写这个主要是学习和熟悉rust这门语言的基础语法了,写出来自己玩儿咯。reop:https://github.com/sharkLoc/fakitinstall:cargoinstallfakitusage:fakit:asimplepr......
  • CF1852C Ina of the Mountain
    *2400https://codeforces.com/problemset/problem/1852/C如果没有\(\modk\)的限制的话,我们都会做,因为都是正数,那么\(\sum_i^nd_i>0\),因此,答案即为\(\sum[d_i>0]d_i\)。但是现在多了一个操作,即为区间加\(k\),那么转到差分数组就是\(d_l+k,d_r-k\),且该操作不花费。观察,差......