Android 小白在两年时间成为一个大牛,我究竟做了什么?

194 阅读5分钟

初识 Android

=========

“同学们,给大家介绍一下,我是你们未来一年的移动互联网开发讲师”,我在大三的时候,这是我和 Android 第一次交流,当时的课讲实话,我没听,一点都没有,只是知道了有个东西叫 Android 开发。还是和大多数人一样,做着自己喜欢的事情。

我们专业并不是和移动开发相关的,这点大部分 Android 开发者都比我有优势,是什么时候我与 Android 就结缘了呢?接着往下看。 在这里插入图片描述

结缘 Android

=========

大三学了一年 Android,大四就面临就业。当然,我本专业找个工作还是不难的,摆在我面前有两条路,第一是现在实习,然后直接步入社会。

第二条路就是考研,可能骨子里就有不安分的因子吧,我没有选择继续深究学业,如果走下去,现在看到的风景可能也会不同,其实人在走什么路的时候,在你一开始选择的时候,就已经确定好了的,不管是好事还是坏事,正确的还是不对的,都会在将来与你的某一个选择相呼应。

深入 Android

=========

其实我与 Android 这个行业,就像是谈恋爱一样,总是在不经意间出现在你眼前,充满巧合但是也是命中注定。当时正值 Android 风口,在我以一个过来人的眼光来看的话,当时确实抓到了这一机遇,去了学校推荐的一个培训机构,花了一年时间,正式入门。

从入门到熟练,其实花了我不少时间,因为不是科班出身,所以就只是勉勉强强达到了一个能用的标准,其实我说个实话,他们好像都看不起半路出身的培训 Androider,归根结底还是技术不到位,可以不信,这些东西经历过的自然懂,我是怎么摆脱培训机构出身的 Androider 的呢?

首先,我认为最重要的一点是对技术的热情。在这两年的时间里,我始终保持着对Android开发的热情。无论遇到什么困难,我都会努力去解决,从不轻言放弃。这种热情激发了我不断学习和进步的动力,让我在面对挑战时更加坚定。

其次,我非常注重实践。在学习Android开发的过程中,我不仅阅读了大量的书籍和文章,还积极参与实际项目。通过实践,我不仅巩固了所学的知识,还学会了如何将理论运用到实际中,提高了自己的编程能力。

此外,我还非常注重与他人的交流和学习。在这两年里,我加入了很多技术论坛和社群,与其他开发者交流心得,分享经验。这样的交流让我受益匪浅,不仅拓宽了我的视野,还让我从别人的经验中学习到了很多实用的技巧。

培训本来没有错,错的只是我们在培训机构学到的只是一点操作技巧,只是知其然,并不知其所以然,师傅领进门,修行看个人。

无论行业里有多么看不起你是培训出身的,只要你技术硬就没人能说什么。

而且大部分人也没有这种想法,只是很多培训出身的过去了,人家帮你结果自身又不努力,这才导致现在培训班出身的名声不好。

你如果有一定工作经验且想快速提升自己,我分享一份Android Framework学习指南助你了解 Android 系统纷繁复杂的底层知识。

由于文章内容比较多,篇幅有限,已经被整理成了PDF文档,有需要《Android Framework进阶学习指南》

详细Vx关注公众号:Android老皮

《Android Framework 开发揭秘》

第一章 系统启动流程分析

            ● 第一节 Android启动概览

            ● 第二节 init.rc解析

            ● 第三节 Zygote

            ● 面试题

img

第二章 Binder解析

            ● 第一节 宏观认识Binder

            ● 第二节 binder的jni方法注册

            ● 第三节 binder驱动

            ● 第四节 数据结构

            ● 第五节 启动service_manager

            ● 第六节 获取service_manager

            ● 第七节 addService流程

            ● 第八节 Binder面试题全解析

第三章 Handler解析

            ● 第一节 源码分析

            ● 第二节 难点问题

            ● 第三节 Handler常见面试题

第四章 AMS解析

            ● 第一节 引言

            ● 第二节 Android架构

            ● 第三节 通信方式

            ● 第四节 系统启动系列

            ● 第五节 AMS

            ● 第六节 AMS面试题解析

img

第五章 WMS解析

            ● 第一节Activity与Window相关概念

            ● 第二节 Android窗口管理服务WindowManagerService计算Activity窗口大

            ● 第三节Android窗口管理服务WindowManagerService对窗口的组织方式分析

            ● 第四节 Android窗口管理服务WindowManagerService对输入法窗口(Input 

            ● 第五节 Android窗口管理服务WindowManagerService对壁纸窗口(Wallpap

            ● 第六节Android窗口管理服务WindowManagerService计算窗口Z轴位置的过程分析

            ● 第七节Android窗口管理服务WindowManagerService显示Activity组件的启

            ● 第八节Android窗口管理服务WindowManagerService切换Activity窗口(A

            ● 第九节 Android窗口管理服务WindowManagerService显示窗口动画的原理分析

img

第六章 Surface源码解析

            ● **第一节 创建流程及软硬件绘制**

            ● **第二节 双缓冲及SurfaceView解析**

            ● **第三节 Android图形系统综述**

第七章 基于Android12.0的SurfaceFlinger 源码解析

            ● **第一节 应用建立和SurfaceFlinger的沟通桥梁**

            ● **第二节 SurfaceFlinger的启动和消息队列处理机制**

            ● **第三节 SurfaceFlinger 之 VSync(上)**

            ● **第四节 SurfaceFlinger之VSync(中)**

            ● **第五节 SurfaceFlinger之VSync(下)**

第八章 PKMS源码解析

            ● **第一节 PKMS调用方式**

            ● **第二节 PKMS启动过程分析**

            ● **第三节 APK的扫描**

            ● **第四节 APK的安装**

            ● **第五节 PKMS之权限扫描**

            ● **第六节 静默安装**

            ● **第七节 requestPermissions源码流程解析**

            ● **第八节 PKMS面试题**

img