从开发的技术层次来看,想要进阶到高级工程师需要几步?
我觉得Android开发上有三个层次技术

- 第一个层次和传统的嵌入式Linux最接近,主要涉及的是CPU、GPU以及外设的驱动以及使能方面; 多需要熟悉Linux内核,Android框架定义中驱动的接口规范等等,这部分开源社区的力量最大。这个层次技术主要需求方是是各种CPU和Android设备解决方案供应商
- 第二个层次主要是涉及Android框架中间件部分,如多媒体/3D框架,Java虚拟机等等,这部分Google控制的是最严格的,因为他要控制 Android各种feature以及捆绑自己的移动互联网应用,必须规范中间件; 这部分所涉及的软件技术也最多,从各种C/C++库,Java虚拟机性 能,用户体验抽象到数据库设计等等很大的内涵;开发的一般也是选择一个方向发力,另外深度定制Android ROM重点也是这个层次
- 第三个层次就是App开发层次,这个层次主要就是利用Android SDK开发了。很多C/C++出身的觉得是用Java开发,其实Java就是啥都是指针的C++,外带try/catch以及垃圾收集,上手其实是很快的; Android程序最重要一点是理解生命周期概念,将一个Activity和Linux进程关系搞清楚,啥时候这个进程启动,啥时候睡眠,啥时候退出,后台的事件循环如何运行的,最后时刻要提醒自己虚拟机在运行,垃圾收集在运行;Google Code上有还多参考代码,在看中学,体会很快的
另外,本人采用了一种特别的模式来进行Android程序开发:Java只负责界面,用NDK来做各种复杂的业务和数据处理,Java与NDK之间设计好API以及事件传递方式(Android SDK 中Localsocket就可以很好用做事件发送);这种方式适合C/C++背景的开发人员上手Android,Java无需达到熟练即可
说了这么多,其实最重要的就是一句话,问问你自己:你现在所拥有的技术层次真的有信心步入更高阶的程序员当中吗?
近段时间我这里整理了一份完整的《2022年 Android 中高级面试题汇总》希望这份系统化的技术体系对大家有一个方向参考

有需要的同学,可以顺手给我点赞评论支持一下
内容如果对大家有用的话,可以转发分享一下
获取方式:
点击:《2022年 Android 中高级面试题汇总》即可免费获取
《2022年 Android 中高级面试题汇总》
由于篇幅有限,仅展示部分内容
第一章 Java 基础
第一节 静态内部类和非静态内部类的比较
1.1 静态内部类和非静态内部类的区别
1.2 扩展:内部类都有哪些?
1.3 同部内部类
1.4 匿名内部类:是一种没有炎名的内部类
第二节 多态的理解与应用
2.1 多态概述
2.2 多态中成员的持点
2.3 instanceof关桩字
2.4 多态的转型
2.5 多态案例

第三节 java 方法的多态性理解
3.1 什么是java的多态
3.2 远行时多态3.3代码理解
3.4 深一点
3.5 再深一点
3.6 最后一个炼习
第四节 java中接口和选承的区别
第五节 线程池的好处,详解,单例(绝对好记)
5.1 线程池的好处
5.2 线程池的详解
5.3 线程池的单例

第二章 Android 基础
第一节 Activity 知识点(必问)
1.1 Activity 启动过程全解析
1.2 启动模式以及使用场景
1.3 onSavelnstanceStatelJBonRestorelnstar
1.4onConfigurationChanged使用以及问题解决

第二节 Fragment 知识点
2.1 Fragment的通信问题,新建Fragment为何不
2.2 为什么官方推荐Fragment.setArguments(B
2.3 Androidx下Fragment懒加载的新实现
2.4 Fragment全解析系列(一):那些年深过的
2.5 Google-Fragment 概览
2.6 Google -与其他 Fragment 通信

第三节 Service 知识点
3.1 Handle 知识点(必问)
3.2 Android 主线程阻塞处理及优化
3.3深入聊聊Android消息机制中的消息队列的
3.4深入理解MessageQueue
3.5 你真的懂Handler.postDelayed(的原理吗?
3.6 Handler.postDelayed0是如何精确延迟指成
3.7 Handler 延迟消息执行机制,会阻塞吗?
第四节Intent知识点
4.1 Android 跨进程传递大内存数据
4.2 数据存健

获取方式:
点击:《2022年 Android 中高级面试题汇总》即可免费获取
技术是无止境的,你需要对自己提交的每一行代码、使用的每一个工具负责,不断挖掘其底层原理,才能使自己的技术升华到更高的层面
Android 架构师之路还很漫长,与君共勉
PS:有问题欢迎指正,可以在评论区留下你的建议和感受;
欢迎大家点赞评论,觉得内容可以的话,可以转发分享一下