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

Excel曲线拟合实战:从基础趋势线到高级回归分析 本文系统介绍了Excel曲线拟合的完整工作流,从基础的散点图与趋势线应用,到利用Solver插件进行自定义高级回归分析。文章详细讲解了线性、多项式、指数、对数等六大常用数学模型的适用场景与选择方法,并强调了通过R²值、残差图评估拟合效果、避免过拟合与外推风险的关键步骤,帮助读者掌握从数据探索到预测评估的实战技能。 阅读详情

背景:

hi粉丝朋友们:
2023年马上就过去了,很多学员朋友也都希望马哥这边写个年终总结,因为这几个月时间都忙于新课程hal+systrace+surfaceflinger专题的开发,差点都忘记了这个事情了,今天特别花时间来写个blog总结记录一下这不平凡的一年。

1、2023是疫情结束后第一年,也是各行各业艰难的一年

2023年里无论是哪个行业,不仅仅是程序员这个行业,都是非常艰难,基本上就是经济危机,下岗失业潮状态。
2023年我相信绝对是android程序员出现以来最艰难一年,也是互联网最艰难的一年。在这一年里,我们突然发现全体大裁员原来离我们是那么的近,而以前只是听听的裁员故事,现在一个个的发生在我们自己或身边最近的人身上。
在这里插入图片描述
裁员基本上持续了2023年一整年,我周围接触的同事朋友,还有很多学员朋友们,都纷纷反馈陆陆续续不断裁员中,而且今年裁员和以前的裁员可是完全不一样,以前听说裁员只是末尾淘汰,可能是自己能力不行被裁那种,今年裁员是直接公司某块业务裁员,或者公司合并裁员,公司倒闭讨薪等。

2、2023开始独立创业的第一年

说起今年开始创业做android framework知识付费课程这个事情,可不是说一时兴起想来干的,今年创业的事情是心中一直想做的,是真心喜欢干这个干货知识分享,可以认为是兴趣。 其实早在2020年就开始简单的准备积累了,刚开始几年基本上属于不断积累自己创业资本的时期,这里资本不是说“钱”,最重要是自身的知识体系,自己的铁杆粉丝积累,商业的运营经验积累。
慢慢这些已经积累的到了一定级别,发现一边上班一边给大家出课程的这种速度,已经完全无法满足这些铁粉和市场的需求了,今年android app失业潮来临了,发现很多android app开发同学找工作,都不想再找app开发了,都想找做framework相关岗位了。
相对来说framework技术门槛还是比较高,技术栈深度要深很多,而且可以继承一些android app开发的经验优势,基本上这块岗位需求其实市场并不少,因为主要都是android设备终端厂商都会有需要这样人才,比如常见手机,车机,电视机,手表手环,平板等,尤其是这一两年新能源汽车火爆也点爆了车机开发的招聘潮,但是framework这块人才少,毕竟想通过完全看看blog或者书啥的自学变成合格framework工程师那实在是太难了。基于这样需求背景,新的学员们就需要更多干货framework课程出现,带领他们可以快速成长为合格的framework工程师。但是以前那种边上班边搞课程的兼职方式完全无法满足了,以前可能一年才可以出一个小专题课程讲解彻底framework的一个核心模块,这个速度相对来说给学员们带来的知识比较慢,而且模块相对也有点少。所以也就是今年,主动离开了自己相伴多年的公司和非常友好的同事们,走上一条全职做framework干货课程分享道路,走上独自创业这条路,这里主要还是学员们对framework干货知识的渴望,及他们一如既往的支持脱不了关系。
补充一点:app失业潮说实话我在2018年左右就开始感觉到了危机,为啥就app开发的失业潮最明显呢?
1.android诞生了10来个年头,基本上市场上的互联网app已经处于完全过了红利期,慢慢发现自己手机打开的app也就那么2-3个top级别的,比如微信,淘宝,京东,支付宝等。完全没有动力去下载新的互联网app,但是这些互联网公司都有庞大的app开发配套团队,app使用很少了意味着这部分开发也就不再需要那么多了,那么肯定会面临裁员。
2.app开发相对来说技术门槛比较低一些,以前很多培训机构都是0基础即可以入行,关键入行后发现每天做的工作其实就是不断重复的业务需求迭代开发,基本周而复始的开发业务,其实就是很多人说的搬砖,不断重复业务开发对于技术的提升来说作用不是很大,对于新人1-3年开发经验和5-6年开发经验来说没有明显差异,因为都是在重复业务开发。

总结2023:

2023年开始全职做课程后,有了更多时间投入到framework的课程研发,可以把在公司里面的很多丰富经验都放到课程中来分享给大家。大专题课程都是经过非常严格的调研,主要调研因素有以下几个:
1、这个专题课程马哥自己是不是有这方面比较深入的经验分享,比如马哥经常在公司里面处理wms闪黑等疑难问题,这类经验属于不太可能从网络学得到的,也基本上很少程序员知道也不可能外传的有用“绝招”,这种在我课程里会毫无保留地分享给大家。
2、这个framework模块是否市场需求量很大,做framework开发其实常见核心模块就那几个,比如常见wms/ams/input/surfaceflinger/pms等,这块说实话也是设备终端厂商人员配备最大部分,所以考虑这个模块是否最大程度符合厂商需要。
3、模块是否有难度,而且又非常重要,比如wms中涉及那些冻屏,黑屏,闪黑等解决,这种普通人基本上很难自学掌握,所以一般不会讲解一些比较简单的framework模块。

产出干货课程部分:

一共产出如下3套大模块课程,一个小项目课程,如下图所示:
在这里插入图片描述
具体的课程详情和课表(内容太多)可以点击下面查看:
WMS/AMS深入开发专题 ,车载多屏互动实战专题,分屏pip自由窗口专题:
https://mp.weixin.qq.com/s/Qv8zjgQ0CkalKmvi8tMGaw
HAL+Perfetto+SurfaceFlinger专题:
https://mp.weixin.qq.com/s/LbVLnu1udqExHVKxd74ILg

相关的部分课程成果展示:
国内车机大厂多屏互动竞品参考:
在这里插入图片描述
车载多屏互动课程aosp效果:
在这里插入图片描述

国内手机大厂主流自由窗口竞品参考:
在这里插入图片描述

国内手机大厂主流自由窗口产品课程基于aosp完成如下:

在这里插入图片描述
分屏移动相关动画:
在这里插入图片描述

干货blog部分:

今年公开在csdn blog是89篇
主要内容包含以下几个模块部分:
1、课程强相关的一些课程笔记
这个部分一般是输出最多的,一般课程的一些笔记等,我都会以blog方式输出
在这里插入图片描述

2、平时工作或者课程开发framework遇到一些问题分析讲解干货分享
这个部分属于一些开发过程中技巧分享,问题bug修复后一些总结,一些自己遇到疑问自我解答等内容分享
在这里插入图片描述

3、学员们工作中遇到一些问题,业界难题分享
比如最经典的:
国际学员印度友人求助的aosp 14上面横屏分屏修改后,会产生画面部分黑屏问题
在这里插入图片描述

自我总结

心里焦虑加大了,需要调节好平常心面对
创业以来最大感受就是“创业艰难”,原本预想的很美好,终于可以有勇气为了理想和兴趣奋斗了,一定是每天满怀激情的干。实际情况是:当自己的兴趣与谋生的收入挂钩时候,一切变得不那么理想和美好。每天还是会有担心自己课程的销售情况,必然就会有焦虑,这种心态和上班兼职搞完全不是一回事。所以心态上确实是相比以前有焦虑一些,这个部分做的不够好。
时间不够用
创业初期,也没有很多资金搞团队,大部分工作都落到我的头上,比如一些售前咨询,课程研发录制,售后答疑服务等。这个时候明显感觉自己每天的时间一晃而过,老感觉时间太快,干到事情太少。这部分在新的一年计划把一些非课程核心的比如,售前咨询和销售等分离出去给别人,自己更加专注新课程研发,干货技术分享,技术答疑服务。
收获很大
很多学员朋友都因为学了马哥的课程,有了肉眼可见的技术进步,越来越多同学通过课程提高了自己能力,找到了自己喜欢的framework工作,有的同学升职加薪,当这些消息和我分享时候,感觉创业做的这一切都是值得的。毕竟在framework技术提高方面帮助到了很多学员,慢慢国内安卓程序员的framework技术水平可能因为这些干货课程的出现有了更加快速的提升,正因为有学员朋友们的鼓励和进步才给了我一直坚持做下去的决心。当然自己的技术进步也是比以前快了,有了学员们对framework各个模块的需求,也不得不努力提升自己,给大家分享更多干货。

展望2024

新的一年,希望各位粉丝朋友技术更上一层楼,马哥会继续一如既往的坚持分享更多的framework干货课程,也希望各位粉丝朋友多多支持马哥的课程,放心的跟着马哥学习framework技术,绝对可以让你收获满满,进步飞快。
未来一年的课程预计规划分享:
1、framework的其他核心模块方向
2、音视频投屏,音频框架等方向

更多framework干货请关注“千里马学框架”

F5高可用HA配置详情 F5 HA详细配置 阅读详情

相关推荐

嵌入式开发:用状态机实现STM32按键消抖,告别阻塞延时

在嵌入式系统开发中,处理异步事件和实时响应是核心挑战。状态机作为一种强大的编程模型,通过定义有限的状态、事件和状态转换规则,将复杂的、非线性的控制逻辑转化为清晰、确定且易于维护的代码结构。其技术价值在于实现逻辑的模块化、异步化和非阻塞化,能显著提升代码的可读性、可扩展性和系统实时性。这一思想广泛应用于协议解析、用户界面交互、传感器数据处理等场景。本文以嵌入式开发中基础的按键处理为例,针对传统“延时消抖”方法会阻塞主循环、影响实时性的痛点,深入讲解如何运用状态机思维重构按键消抖逻辑。通过分析状态机的核心三要素

weixin_33377602的博客 339

千里马android binder深入分析-承上启下的native层(客户端部分)

csdn在线学习课程,课程咨询答疑和新课信息:QQ交流群:422901085进行课程讨论 android跨进程通信实战视频课程(加群获取优惠) 相信大家对上面这一副binder跨进程通信的图都应该比较熟悉,图中的主要有4个角色: 1、客户端(A进程) 2、SerivceManager 3、服务端(B进程) 4、binder驱动 平时一问到binder是怎么跨进程通信的?那么同学们肯定大部分回答:binder最后调到底层还是通过binder驱动来实现跨进程通信的。那么这里就要问一下:请问android中ap

liaosongmao1的专栏 596

别再为reg2icg的setup违例头疼了!手把手教你用ICC2/Innovus这3招搞定(附实战数据对比)

本文详细介绍了在ICC2/Innovus中解决reg2icg的setup违例的三种高效方法,包括早期时钟树预估、精准控制时钟延迟与门控检查以及ICG专用优化选项组合。通过实战数据对比,展示了不同策略的效果差异,帮助工程师快速优化时序路径,提升芯片性能。

weixin_42569329的博客 408

clearCallingIdentity与restoreCallingIdentity-千里马framework系统源码实战详解

hi,粉丝朋友大家好:今天带大家来学习一个系统开发过程中大家即“熟悉”又陌生的两个方法,分别是clearCallingIdentity和restoreCallingIdentity,一般他们是成对出现在我们的framework代码中,但大家平时分析源码时候好像并没有在意他的真正作用是什么?为啥在框架代码分析时候可以看到他的大量出现?

learnframework的博客 1308

FPGA数字下变频实战:用Vivado DDS IP核实现IQ采样与频率校正(附MATLAB仿真对比)

本文提供了一份基于Vivado DDS IP核实现FPGA数字下变频(DDC)的完整工程指南。详细阐述了IQ采样的原理、DDC链路构建、DDS频率校正的工程实现,并重点介绍了如何利用MATLAB搭建黄金参考模型进行全链路仿真与对比验证,分享了关键的调试技巧与性能优化建议。

t1u2v的博客 810

华为鸿蒙系统也能用!5分钟搞定谷歌三件套安装(附最新APK下载链接)

本文为华为鸿蒙系统用户提供了一份详尽的谷歌三件套(Google Play服务、商店及框架)手动安装指南。文章核心在于无需Root,通过ADB命令获取设备信息,并从可靠来源下载匹配版本的APK,按照正确顺序安装,从而解决海外应用依赖问题,实现5分钟快速部署。

c7d8e9的博客 6499

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

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

learnframework的博客 2003

cmu15445(2024fall) project 2

project 2比p1难度要更大,代码量更大且涉及的知识更多,实现中出现的bug更多,好在是最后全部解决了。我最大的收获在于对于多线程编程的理解更深入了,实际发现解决了多个多线程相关的bug,学会了更多多线程下debug的技巧方法,也见识了更多多线程的bug情况。在之后可以更系统的学习一下多线程编程。同时学会实现B+树也是需要掌握的基础。

Jerome_Yi的博客 1559

Android源码环境搭建(aosp Ubuntu 16.04 20.04)

Android源码环境搭建(aosp Ubuntu 16.04) 作者:千里马 课程要求: 电脑配置:双核,内存最少 16G,硬盘 200G 以上,独立安装 Ubuntu16.4 系统 学员要求:最少 1 年以上应用开发经验,推荐在 3 年左右 Android 应用开发经验, 熟悉 Java 语言,可以看懂 C/C++ 1、安装 ubuntu16.04(因为这个版本可以直接安装 openjdk-8,如果其他版本自行找方法) 2、openjdk 8 的安装 sudo apt-get install openj

learnframework的博客 2万+

GJB 5000B二级-II实施基础

本文主要描述GJB 5000B二级II实施基础与GJB 5000A的变化情况,以及过程域各条款的实施要点

Abel的博客 2581

静态代码审计插件 snyk 使用教程

静态代码审计插件 snyk 使用教程

SHELLCODE_8BIT的博客 2004

千里马平台介绍(1)

因为是开源的,对甲方而言,获取了话语权。这里有个关键,就是平台的技术是开放的,离开了平台一样用:平台不会创造一个自己的语言,也不会开发一个专用的开发工具,全部都是开发技术。坦诚讲,千里马平台也是基于开源资源的,所以也会开源。首先再次强调,平台是平台,应用是应用,这里讨论的是平台特性,无关任何业务。从商业角度,平台是共享共建的,应用是各家独有的。平台的价值在于:平台上有很多应用,且这些应用可互联互通,界面操作一致;平台+应用是未来企业内部信息化的发展方向,就平台而言,很多团队都在做,例如。

wangbing1125的博客 2927

【华为OD机试真题 2025C卷】895、贪心歌手 | 机试真题+思路参考+代码解析 (C++、Java、Py、C语言、JS)

【华为OD机试真题 2025C卷】895、贪心歌手 | 机试真题+思路参考+代码解析 (C++、Java、Py、C语言、JS) 华为od机试,华为od机试真题,华为od机试E卷,华为odE卷,华为od机试真题E卷,华为OD,华为OD机试,华为OD机试真题,华为od机考,华为od机试D卷,华为od机试真题D卷,华为od手撕代码,华为od,华为od机试C卷,华为od e卷,华为2025e卷,od机试,2025E卷,华为OD机试E卷,什么是华为od,华为od介绍,全面了解华为od,2025华为od,如何备战华

KJ.JK 964

手机大厂的自由窗口freeform功能基于aosp14/安卓14适配完成-千里马android framework实战开发

近期有个马哥学员刚好求助马哥一个关于以前马哥课程里面自由窗口项目,这个项目在android 13上做的,但是他们公司是aosp14,希望我能帮忙尽快升级到14。今年2023年已经块过去了,各个手机厂商已经开始适配aosp14,甚至有的是已经适配完成,明年市场就大部分手机出厂就都是android 14了。马哥课程中自由窗口效果可以看出来基本和国内手机各个大厂自由窗口效果是不是大体相同,课程实现是带大家手把手进行实现的。1、把原来的自由窗口自己的顶部栏显示等,独立成了一个窗口,移植到了如下目录。

learnframework的博客 2739

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

千里马framework学习跨进程实战课程学员疑问解答:ClassNotFoundException when unmarshalling

hi,粉丝朋友们!

learnframework的博客 1550

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

WinScope实现录制视频与是Timeline时间轴同步设置方法-千里马framework车载手机系统开发实战

用到winscope工具,提出一个疑问,就是google官网说的有录屏可以结合起来一起看

learnframework的博客 1869

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

写给2023年andriod程序员的一封信

hi,粉丝朋友们:大家好!近来很多粉丝朋友都在说android工作特别难找,一个岗位都是几千份简历…大家心里都是特别的焦虑。今天就来给大家写一封信,给大家分享一些经验和办法,帮助粉丝朋友们更好的度过这个寒冬。

learnframework的博客 541

2023年优快云博客之星竞赛优快云 2021“博客之星”年度总评选报名已开启,进入官网选择你的技术领域,即可成功报名: MacBook Pro、iPhone 13 Pro、定制荣誉奖杯、人体工学键

【csdn奖励千里马未获的博客之星,鼓励千里马继续输出安卓高端framework干货视频机及客】 https://www.bilibili.com/video/BV13Y411E7Nq/?2023年优快云博客之星竞赛优快云 2021“博客之星”年度总评选报名已开启,进入官网选择你的技术领域,即可成功报名: MacBook Pro、iPhone 13 Pro、定制荣誉奖杯、人体工学键。

2302_81218205的博客 408

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

千里马android framework开发解决Accessing hidden method限制,让应用访问隐藏方法(需要可以修改系统源码方案)

hi,粉丝朋友们大家好! 今天来给大家分享一下,就是经常大家会做安卓系统开发工作问到一个问题,那就是我如果framework代码中增加了一个方法啥的,但是我又不想公开给第三方应用知道,只想让我系统的应用知道,那该怎么办呢?其实这个时候经常就会用到一个hidden的标签,来代表这个方法是隐藏方法,隐藏方法就是给系统内部用的,意味着第三方app就无法使用。这个其实也很常见,自从android p开始android系统就开始对访问hidden的限制越来越严格,虽然我们网络上有各种奇葩招来逃避不允许调用hidden

learnframework的博客 1万+

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

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

learnframework的博客 5967

千里马Android Framework实战课程-应用程序app的Binder启动篇

上一个学习专题zygote启动app进程时候,有简单讲过一下binder启动,但没有详细进行分析。这一节进行重点详细分析。 ProcessState的启动 sp<ProcessState> ProcessState::self() { Mutex::Autolock _l(gProcessMutex); if (gProcess != nullptr) { return gProcess; } gProcess = new ProcessState

learnframework的博客 3075

我们的世界

我们的世界

qq_24829537的博客 162

Android 经典hal开发实战-千里马android framework车载车机手机系统开发

上面的load方法就是我们说的hardware动态性的关键,它是在运行时候才真正依赖具体硬件抽象so,编译期间只需要依赖公共的hardware相关公共类既可以,不需要so,所以这里就给硬件抽象提供商带来很大灵活性,哪怕硬件厂商不提供也一般会有一个default的so保证不会产生什么严重的崩溃和强依赖问题,大大减低了aosp的代码对于硬件抽象的各个厂商的耦合性。在结构体 hw_module_methods_t 中只有一个成员,它是一个函数指针,名字是open,它主要作用就是用来打开硬件抽象层中给的硬件设备。

learnframework的博客 2783
上一篇: BLASTBufferQueue源码深入理解
下一篇: BLAST深入源码剖析
千里马学框架
博客等级 码龄6年 1万+粉丝 650原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

千里马学框架

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

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

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

打赏作者

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

抵扣说明:

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

余额充值