android framework工程师遇到成长瓶颈迷茫怎么办?千里马经验分享

Android Framework开发核心能力与面试指南 Android Framework开发是移动互联网领域的关键技术方向,涉及Linux内核、Java/Kotlin语言和系统架构设计的深度融合。其核心价值在于理解系统底层机制与上层设计的协同原理,如Binder IPC机制和Handler消息循环等关键技术。掌握这些能力不仅能提升应用性能优化水平,还能解决系统级问题如内存泄漏和启动速度优化。在工程实践中,Framework开发者需要具备源码调试、性能分析和跨模块问题排查等实战技能。对于求职者而言,深入理解Android系统启动流程、AMS工作原理等高频面试题, 阅读详情

背景

近来有一些framework老司机粉丝朋友发来了一些framework工作中的一些疑问,具体描述如下:
在这里插入图片描述
这个同学遇到的问题,其实就是大部分framework开发者工作比较久后遇到的一个上升瓶颈问题。
在这里插入图片描述

具体总结有以下几个瓶颈问题

1、framework属于系统核心框架部分,整体要求稳定性高,可变性小,aosp本身已经把framework比较完善,所以framework不会像app开发那样,有每半个月一次的迭代周期,所以不断的修改一些交互功能和需求。因为framework需求相对比较少,导致大家心里可能比焦虑,怎么没有和以前一样写很多代码啊?即第一个瓶颈就是:framework需求不那么多,修改代码量不大,认为没有写很多代码就是自己能力不好上升有瓶颈

2、framework因为稳定性要求高,所以经常的工作任务都是解bug大于做需求,这个其实大部分公司都是一样的。但是bug都是一些疑难问题,比如anr,crash,黑屏,闪黑等,还是偶现的,只有日志等分析起来比较困难,所以这类问题的解决效率比较低,bug的收敛速度也慢,再也没有app那种bug多,修复也多。即第二个瓶颈:framework的bug很多是复杂而且低概率的bug,修复起来难度大,所以导致修复率比较低,成就感很低,即有bug修复的瓶颈。

如何突破以上一些瓶颈

1、 针对需求较少这个瓶颈问题,我这边给出以下一些建议:

1 针对自己业务相关的任何需求,自查有没有不理解或不知道原理的,可以去尝试搞懂剖析,这样以后产品或者其他同事提出的任何和自己相关的业务技术问题都可以迅速自信的回答出来

2 自己业务相关的功能,不能只局限于公司的功能,需要自己敏锐的去市场上挖掘竞品相关新功能,调研人家新的功能,看看人家怎么实现,如果自己做这个竞品新是否可以做出来,应该怎么做,可以自己经常去尝试demo新功能开发

3 时刻关注google在自己业务一些更新patch提交,紧跟google的更新节奏等,把握新的动态和发展

总结一下针对需求较少的瓶颈部分解决突破方法就是:不断剖析陌生模块或者功能、调研竞品相关功能实现demo,紧跟google更新提交布局

2、如何突破framework一些bug解决效率问题

1 针对一些不是必现的低概率bug,这个需要评估好这类bug的出现频率和严重程度,比如可以从测试提出问题多少,日志上可以归类是不是一类低概率问题,这样就可以知到频率和严重程度,哪怕低概率也需要认真分析,要自己找测试人员集中进行复现。如果日志不够,或者需要其他的dump等信息,需要自己添加上去,慢慢多个版本追踪,因为有新的日志慢慢缩小bug范围,也可以自己日志中有怀疑点,分析出相关的必现步骤等方式即把偶现变成必现。
总结:认真分析日志,找测试人员多进行复现测试,添加更多辅助日志或dump,复现后有更多证据,可以尝试修改一些代码把偶现变成必现

2 针对一些常见类型偶现bug,只有日志分析可能作用不大,可以自己编写一些工具辅助等工具,在出现问题后的几秒钟可以触发相关按键,比如截图按键等,来触发自己的一些导出相关系统运行的变量或者数据,日志,trace等,这样可以大大提高偶现类问题出现时候老是因为抓取的分析证据不足而导致一直无法推进。也可以多关注google的一些日志工具的改进思路,比如google做出的winscope,proto日志等,这些作为便利的bug分析依据工具,大家是否可以考虑针对自己业务模块也搞出一个类似工具进行提高bug的分析效率。

3、端正态度,不以转出bug为目的

经常在公司里面可能有bug率的指标压力,这种情况下可能会导致很多同学会存在分析问题时候不那么全面,只要发现和自己模块不相关直接就转给相关业务模块,就比如经典问题anr这种,很多同学一看到某个第三方app应用anr,那么故障就直接给第三方应用,其实很多anr都不是app自己问题,很可能系统卡了或者什么的导致的app才anr,这时候如果系统工程师完全不看直接转的话,说实话自己系统应用可能还有负责,第三方应用可能没人负责,那么就会导致错过一些系统存在的bug。
所以,建议大家看到和自己业务模块相关的bug时候,第一时间想到的不是尽快转给下一个模块,而是先分析好,把自己模块的逻辑等整理好,确定自己模块没问题在考虑转出

4、经常学习大神大佬

公司里面总有一些公认大佬或者大神,这个时候大家可能都想和大佬学习,但是也不可能天天去请教人家问题,因为大佬每天也很忙,老是问人家问题也不合适占用人家时间。

所以给出以下几点向大佬学习的方法:
4.1 大佬的名下的故障,你可以尝试也去帮大佬解bug,然后解不出来的看看大佬是怎么解的
4.2 多和大佬讨论技术,努力学习分析一些东西给大佬,让大佬觉得你确确实实很认真的,和你交流技术是真的讨论大佬自己也有进步,而不仅仅是你请教告诉
4.3 问大佬问题一定要多考虑充分,准备充分,思路明确,切勿和人家大佬讨论问题,大佬提到个相关的模块,发现你啥也不懂,这个时候大佬可能就没办法和你再聊了,可能就是让你去看看xxx
4.4 多看看大佬的gerrit代码需求的提交,看看人家是怎么实现一些较难的需求,这里大家注意最好不要让大佬发现你在review人家代码,或者征求人家意见去学习人家代码

4.5 也可以去互联网寻找一些干货技术文章等,或者付费学习等,这里说实话马哥也有不擅长的技术,也经常会付费学习一些自己陌生的技术,这样最重要可以帮我节省大量时间而且进步很快。

总结

上面提到的几点就是我这边给一些framework的老工程师在公司工作过程中遇到瓶颈如何提高的方法,相信按上面的方法做了以后你一定可以突破瓶颈,找出新的方向,技术上升一个档次哈。

更多framework技术干货,请关注下面“千里马学框架”

数学建模国赛B题保姆级攻略:从选题到代码实现的完整流程(2024最新版) 本文提供2024年数学建模国赛B题的保姆级实战攻略,涵盖从赛题解构、模型构建到算法实现与论文撰写的完整流程。文章详细解析了如何快速抓住问题核心、建立数学模型、进行算法求解与结果可视化,并分享了高效团队协作与专业论文写作的关键技巧,助力参赛者系统性地完成从选题到代码实现的全过程。 阅读详情

相关推荐

GD32F4系列定时器正交译码器实战:用TIMER1读取旋转编码器信号(附完整代码)

本文详细介绍了GD32F4系列定时器正交译码器的实战应用,重点讲解如何使用TIMER1模块高效读取旋转编码器信号。内容涵盖硬件连接、定时器配置、方向判断与速度计算等关键环节,并提供了完整的代码实现和优化建议,帮助开发者快速掌握GD32微控制器在工业控制和消费电子领域的编码器接口设计。

weixin_29169505的博客 201

安卓车载车机手机framework系统开发WMS/AMS体验专题

Android手机车机大厂Framework系统-WMS/AMS系统专题实战课作者:千里马10年+Android系统及应用开发经验,曾就职于爱奇艺,美国unokiwi,中兴努比亚,主要红魔手机ROM创新技术规划,技术难题,亮点卖点挖掘突破,基本好多游戏特色功能(游戏空间,红魔时刻,一键连招,红魔投屏)都有我的成果,多次获得公司优秀员工,优秀发明人,优秀讲师,发布发明专利百余篇国内首个做android framework实战开发课程作者 ps:购买了课程一定记得联系客服加入课程专群基于最新国内aosp 13/android 13代码深入理解framework重点模块wms胜任wms相关的需求开发掌握系统闪黑,冻屏疑难问题解决成为业界wms/ams模块专家打下基础

高通thermal-engine.conf配置详解:从虚拟传感器到CPU频率控制的完整指南

本文深入解析了高通thermal-engine.conf配置文件的架构与调优方法。从虚拟传感器的加权融合原理,到监控算法与CPU频率控制的多级策略,提供了完整的配置详解与实战调试指南。文章旨在帮助开发者与高级用户掌握底层温控逻辑,在性能与散热间实现精准平衡,并详细介绍了日志调试与场景化配置等高级技巧。

weixin_28327051的博客 494

千里马android framework实战开发-binder驱动之oneway导致的transaction failed

csdn在线学习课程,课程咨询答疑和新课信息:QQ交流群:422901085进行课程讨论 android跨进程通信实战视频课程(加群获取优惠) 千里马android framework实战开发-binder驱动之oneway导致的transaction failed 首先来看错误: 06-15 12:10:36.686 31395 31507 W System.err: android.os.DeadObjectException: Transaction failed on small parcel; r

liaosongmao1的专栏 2599

CA(载波聚合)

文章目录CA基本概念1. CA分类2. Pcell、Scell以及Serving CellPcell(Primary Cell)Scell(Secondary Cell)3. Pcell、Scell部署场景场景1场景2场景3场景44. CA的协议控制4.1 Camping/Connetion Establishment:4.2 CC Management/SCell Addition/Release:4.3 Handover/Measurements:4.4 SCell激活 CA基本概念 CA也就是我们中文

你又来看我了,一起学习吧 4万+

【RK3588 NPU性能调优实战】多线程异步推理YOLOv5,榨干6TOPS算力

本文详细解析了如何在RK3588 NPU上通过多线程异步推理优化YOLOv5目标检测性能,实现6TOPS算力的最大化利用。通过线程池设计、流水线化帧处理及避开内存带宽瓶颈等技巧,将NPU利用率从30%提升至82%,帧率显著提高至61.2FPS。文章还提供了环境配置、代码实现及性能对比数据,助力开发者高效部署AI模型。

weixin_29034963的博客 340

千里马2024年终总结-android framework实战

心里焦虑加大了,需要调节好平常心面对创业以来最大感受就是“创业艰难”,原本预想的很美好,终于可以有勇气为了理想和兴趣奋斗了,一定是每天满怀激情的干。实际情况是:当自己的兴趣与谋生的收入挂钩时候,一切变得不那么理想和美好。每天还是会有担心自己课程的销售情况,必然就会有焦虑,这种心态和上班兼职搞完全不是一回事。所以心态上确实是相比以前有焦虑一些,这个部分做的不够好。时间不够用创业初期,也没有很多资金搞团队,大部分工作都落到我的头上,比如一些售前咨询,课程研发录制,答疑服务等。

learnframework的博客 2003

ICC2 user guide(二)Placement and Optimization

ICC2 place阶段user guide

m0_61544122的博客 9226

千里马android framework车机车载手机智能驾驶双屏互动实现方案

这个就是没有动画版本的双屏互动,功能其实也是实现的,但是体验是不是感觉起来差的太多,而且还带有黑屏。2、画面A的平移,两个屏幕都要进行显示,这个难度较大,得考虑好相关的画面怎么都可以显示在两个屏幕。这里其实不需要写代码,可以直接调用am display相关的命令即可以实现这个方法的调用。不过还好的是功能可以用,那么我们也根据wms课程基础后也来实现一下这个双屏互动的功能。1、多指全局动作监听,而不是在某个app的onTouch里面监听,这里其实之前的。

learnframework的博客 5967

假新闻检测论文分享(30)MMDFND: Multi-modal Multi-Domain Fake News Detection

现有的假新闻检测方法通常集中在单一领域的新闻上,如健康或政治。然而,社交媒体上的新闻往往来自多个领域,这给单一领域的假新闻检测方法带来了两个主要挑战:数据稀缺性:处理较小、单一领域的新闻数据集时,由于训练数据的稀缺,模型的有效性显著下降。跨领域检测的准确性下降:单一领域的假新闻检测方法在跨领域新闻数据集上的准确性大幅降低。缓解领域间模态语义偏差:通过DPLE网络提取跨领域和领域特定的知识,缓解了不同领域间文本和图像的语义差异。

weixin_41964296的博客 671

搬运机器人系列编程:KUKA KR QUANTEC_(2).KUKA KRL语言编程基础

定义一个函数END!调用函数PRINT "结果: ", result!定义一个过程PRINT msgEND!调用过程printMessage("欢迎使用 KUKA 机器人")!定义搬运零件的起始位置和目标位置!定义焊接路径的各个点!定义喷涂路径的各个点KUKA Robot Language (KRL) 是一种专门为工业机器人设计的编程语言,具有结构化编程、丰富的库函数、实时性以及集成性等特点。

zhubeibei168的博客 1246

HIDL实战开发-千里马android framework车载车技手机系统开发

上面default默认生成的bp是so,这里要把他变成可执行的服务,需要增加一个service.cpp作为main方法载体。需要在自己设备目录找到自己的manifest.xml然后加入自己的hidl。5、添加service.cpp,自启动rc,修改Android.bp。4、生成一个自动生成 hal 接口的 Android.bp。6、需要搞个test,来测试一下服务是否ok,这个时候需要。主要目的是把test目录的Android.bp可以加入编译。执行后生成如下Test.cpp,Test.h文件了。

learnframework的博客 2975

大模型性能压测全指南:从指标到实战

本文系统阐述大模型(LLM/多模态)私有化部署性能压测方案,涵盖核心指标(TTFT、TPOT、吞吐、并发、资源占用、错误率)、四类典型压测场景及工具选型(Locust、vLLM benchmark等)。强调环境隔离、参数固定与长尾延迟分析,提出瓶颈定位思路与标准化报告模板,结合伪代码示例实现流式接口精准打点,确保测试结果真实可信,助力优化模型服务稳定性与性能。

SmallBull的博客 56

android工程师找工作都需要什么要求呢

不同的Android工程师的技术水平都有一定的差距,所在找工作的时候公司会对不同能力的Android工程师的岗位也会区分开来,分别是初级Android工程师,中级Android工程师,高级Android工程师三种,不同级别的Android工程师岗位的招聘要求也是不同的,具体要求需要结合企业的需求而定。初级Android工程师需要具备一年以上的Android开发经验,熟悉Android多线程编程原理,熟悉常见的开源框架的使用,对Android的UI、组件开发、内存优化、性能优化等有深入实践,熟练掌握Andro

m0_70749039的博客 729

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Android面试你简历准备好了吗?以及3-5年的Android工程师的瓶颈怎么突破

不论是什么样的大小面试,要想不被面试官虐的不要不要的,只有刷爆面试题题做好全面的准备,当然除了这个还需要在平时把自己的基础打扎实,这样不论面试官怎么样一个知识点里往死里凿,你也能应付如流~可是现在很多兄弟连面试机会都少的可怜,背面试题的环节都直接省略了。这个时候就要思考你的简历是不是很久没有更新了。那我们简历要注重那些方面呢?

Android23333的博客 325

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

经验总结之Android framework开发

本人在某做手机ROM的厂商工作近两年,虽然工作年限不长,但是对此类“工种”已有比较初步的认识,写下来供大家参考借鉴。 framework的工作相对于其他比较成熟的软件开发类似,分为维护和需求开发。 需求开发需要注意的是: 1 相关功能的现有模块需要非常熟悉,否则会有非常大的风险 2 所写代码尽量与已有类似的代码保持风格一致 3 必要的注释,写代码的时候认为代码的意图貌似是理所当然,但是当...

weixin_30640769的博客 471

Android Framework 学习进阶,攻破大厂面试难关_android 面试连环炮(1)

网上高级工程师面试相关文章鱼龙混杂,要么一堆内容,要么内容质量太浅, 鉴于此我整理了上述安卓开发高级工程师面试题以及答案。希望帮助大家顺利进阶为高级工程师。目前我就职于某大厂安卓高级工程师职位,在当下大环境下也想为安卓工程师出一份力,通过我的技术经验整理了面试经常问的题,答案部分是一篇文章或者几篇文章,都是我认真看过并且觉得不错才整理出来。大家知道高级工程师不会像刚入门那样被问的问题一句话两句话就能表述清楚,所以我通过过滤好文章来帮助大家理解。现在都说互联网寒冬,其实只要自身技术能力够强,咱们就不怕。

2401_84102864的博客 717

熬夜肝完这份Framework笔记,薪资翻倍

曾听过很多人说Android学习很简单,做个App就上手了,工作机会多,毕业后也比较容易找工作。这种观点可能是很多Android开发者最开始入行的原因之一。 在工作初期,工作主要是按照业务需求实现App页面的功能,按照设计师的设计稿实现页面的效果。 在实现的过程中,总是会被提如下的需求: 这个字能不能大点或者醒目点儿? 感觉颜色和设计稿有差别,能不能再调调? 怎么老是崩溃啊,行不行啊? … 所以,工作过一年后你会发现,自己的工作重点就是**将找各种各样的组件、框架,拖拖拽拽,改改样式。**在极端情况下出

clhcowboy的博客 245

安卓系统fw工程师面试福利9:近期收集学员手机车载FW面试真题

3、看你这边说了解protolog和各种log调试方式,请问你工作中一般怎么看log,main,events,system,kernel,protolog日志分别代表什么,可否详细说说具体场景,及你从这些log中有什么启发,如果要你为某个模块设计详细log你会怎么做。13、看你fw知识面都比较广,而且熟悉程度也还可以,请问你这边对framework知识技能掌握有啥方式方法,你这边如果在未来工作中会很忙,而且framework技术也发现成长有了瓶颈,有啥突破瓶颈想法?你思考过为啥新版本就要有Spy?

learnframework的博客 471

安卓framework开发!关于网络优化你必须要知道的重点,附面试题答案_android framework优化

*其实上面说了这么多,钱是永远赚不完的,在这个知识付费的时代,知识技能提升才是是根本!我作为一名8年的高级工程师,知识技能已经学习的差不多。**在看这篇文章的可能有刚刚入门,刚刚开始工作,或者大佬级人物。像刚刚开始学Android开发小白想要快速提升自己,最快捷的方式,就是有人可以带着你一起分析,这样学习起来最为高效,所以这里分享一套高手学习的源码和框架视频等精品Android架构师教程,保证你学了以后保证薪资上升一个台阶。这么重要的事情说三遍啦!直达领取链接:点击链接免费领取【

2401_84519960的博客 878

安卓移动开发基础案例教程!这些年我所经历的所有面试,移动架构师成长路线

背景 首先我是个菜鸡,工资也低的一笔。 刚毕业时候在一家国企上班干 app 开发,干了快两年的时候,跳槽到了一家伪大厂干安全。投了不少简历都没有回音,只有这加伪大厂要我就来了。当时说好了会接触一些底层的东西,然而平时也就写 python 脚本,逆向,android 上写了一些风控的东西,感觉有点 low,工资也不高,当初没敢多要,hr 给的比我要的还高。刚刚 leader 谈了谈明年的规划,现在想跳槽。 现在也是很尴尬,原来 app 开发的东西也忘了不少,然后其实我想干 framework 开发,自己对 a

chayel123的博客 346

NET Framework 3,字节跳动架构师讲解Android开发

我的面试经验分享可能不会去罗列太多的具体题目,因为我依然认为面试经验中最宝贵的不是那一个个具体的题目或者具体的答案,而是结束面试时,那一刻你的感受以及多天之后你的回味~很多人在刚接触这个行业的时候或者是在遇到瓶颈期的时候,总会遇到一些问题,比如学了一段时间感觉没有方向感,不知道该从那里入手去学习,对此我整理了一些资料,需要的可以免费分享给大家在这里小编分享一份自己收录整理上述技术体系图相关的几十套腾讯、头条、阿里、美团等公司的面试题,把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含。

2401_84006757的博客 949

大厂需要什么样的 Android 开发?

前言 昨天和一个百度的朋友闲聊,他说根据最近招聘 Android工程师的经验来看,大部分候选人在工作 3 年的时候基本都会遇上一道难过的坎。 为啥这么说呢? 因为工作一段时间之后,大部分工程师都已经完成了最原始的基础技能积累,大家的技术水平差距集中在语言、框架、工具的使用熟练度上。而这个差异不会很大,就算大,也很容易追赶。 但如果一个工程师一直停留在业务开发,一直沉浸于工具的使用熟练度,那他自然就会遇到能力瓶颈。这个瓶颈就是前面说的那道坎 跳过去了,你就发现了一片新天地,可以在下一个区间里继续生长。 跳不.

Android23333的博客 2032

「2024Android面试高薪必备」收藏过万的Android面试之framework汇总,学会了,学废了?_剖析framework面试 冲击android高级职位 目录

作为Android开发的从业者,在找工作的时候,一定会被问及关于framework相关的知识。framework知识的掌握程度,在很多面试官眼里是候选人技术深度的一个重要评判标准。而大多数人可能对framework仅限于了解,接下来这一系列文章将带你深入了解framework底层并且掌握的各个知识点。这也将帮助你完成从初级程序员到高级程序员的转变。

2401_84537646的博客 578

2024年安卓最新Android开发真的凉了吗?(2),2024年最新android framework开发面试

其实Android开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。下图是我进阶学习所积累的历年腾讯、头条、阿里、美团、字节跳动等公司2019-2021年的高频面试题,博主还把这些技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节祝大家都能得到自己心仪工作。

2401_84519907的博客 683

啃下这些Framework技术笔记,专题解析

导语 你想做安卓开发,怎么系统学习?你只需要看完这一篇就够了!!为什么只看这一篇就够了?现在优快云、知乎、掘金、GitHub上各路大佬层出不穷,他们深耕Android开发多年,总结出满满的学习干货。但同时也存在很多非良心的博主,要么活出了人类的本质,复读机一样到处转载; 要么纯粹自嗨型草草说了自己的工作经历,让读者无法从良莠不齐的资源海洋中高效高质地获取真正有用的信息。本文的目的很简单,一句话:用最少的时间,最高效率,让你清楚:想要做Android开发,你需要学什么?你该在哪学? 本文的特点在于将繁琐的知

m0_57066056的博客 136
上一篇: 安卓framework单屏幕Display秒双/多屏互动相关需求改进-fw窗口多屏sf实战开发
下一篇: systrace/perfetto第三方app的Trace.beginSection方法无效问题和TAG开放剖析
千里马学框架
博客等级 码龄6年 1万+粉丝 650原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

千里马学框架

帮助你了,就请我喝杯咖啡

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

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

打赏作者

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

抵扣说明:

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

余额充值