Android开发初期之后怎么提升?怎么才能叫精通?方向在哪?

164 阅读9分钟

1. Android开发初期之后怎么提升?

首先第一个问题:Android开发初期之后怎么提升?说到这个问题,就不得不先搞清楚 “为什么很多人会一直停留在两三年的水平上,而后一直在重复以往的经验,原地踏步?”

我认为最主要的一个原因就是这部分开发者缺乏主观能动性,或者说缺乏能支撑你坚持学习的兴趣。如果你对Android开发没有太大的兴趣,那么还是尽早换方向吧。有了兴趣,然后就是要有一个比较正确的钻研路线,不要这也搞那也抓,最后什么都知道点,但也就只是知道点儿。

一个很好的例子就是我们平时在开发过程中都会用到过很多库,且有很多面试者在面试过程中以用过很多库为荣,但是当面试官只要问你一句:“说说你对这些库的理解”,大多数人脑子一下就空白了,不知从何说起。

我这里有个建议,把日常开发常用的各种系统库,开源库,代码好好研究一遍,它的底层原理是什么样的?把这样一个动作当做是自己“破局”的第一步。万事开头难,如果你能坚持走好这一步,我相信关于进阶学习的这一条路,你想停都停不下来,这也是程序开发独有的魅力。

成功的迈出了艰难的第一步,那么第二步我觉得可以尝试去了解Android Framework比较细节的一些东西,比如activity启动流程,顺便分析清除Activity stack的管理,比如了解Android的资源加载机制,顺便了解aapt是如何打包Android资源的;又比如Java的类加载机制,这里配合资源的加载机制,很自然的就可以去了解插件化的实现,开一些这方便的开源库或者自己撸一个也就自然而然,并尝试的去应用到自己的业务当中去。

那么进阶提升的最后一步就是横向扩展、这一步也并不比第二步更难更高级,而是对第二步的一些补充,比如你是不是可以了解一下web开发,这样做hybrid开发的时候就会更顺手。是不是要了解一下这么火爆的鸿蒙技术,甚至可以把他们的一些思想拿过来自己用。正如科学领域很多重大贡献都是在交叉学科领域出现的。技术上到了这个一步甚至可以做到技术影响业务,技术驱动业务。

关于Android开发初期之后如何提升,说了这么多也只是我自己根据自身经验的一些方法论。至于如何实践到自己实际工作当中去,各位就仁者见仁了。甚至在很多选择“躺平”的朋友看来,这也正是造成这个行业日益“内卷”的原因吧,在这里求一份原谅和理解。毕竟要不都是为了生活,谁TM愿意卷呢?

2. 怎么才能叫精通?

关于这个问题,我可就不敢造次了,这里就简单的聊下自己的看法。在这个点上我也知道有很多人觉得:对底层的东西越了解,就意味着越精通?在我看来大部分技术其实都是为了满足业务需求,我认为这种场景下,是能越好的反哺驱动技术才越牛逼,和什么底层不底层没太大关系。比如你能将app做的非常牛逼,交互和性能非常好,直接带动业务飞速发展,那么我就觉得你并不比能做底层的人差。

3. 方向在哪?

前面说了些方法论,那么在这一点的话就给大家分享一些进阶学习的具体技术路线及学习笔记。可能远不及你对“精通”的要求,但也是我做了7年Android血与泪的点滴积累,如果说的实际、现实一点,你能掌握以下知识点的70%,在当下任何一家互联网公司做Android开发拿个30K的月薪应该是问题不大的。

所有技术点都有整理好的PDF学习手册,有需要的朋友还望不吝点赞,在文末自己免费自取!

  • 架构师筑基必备技能

目前Android APP开发主流语言就是Java语言,Java语言最大的特性就是提高了软件的交互可能性,可以说安卓手机几乎所有应用程序都是利用Java语言来进行编写的。

知识要点: 1、深入理解Java泛型 2、注解深入浅出 3、并发编程 4、数据传输与序列化 5、Java虚拟机原理 6、高效IO

架构师筑基必备技能

  • 设计思想解读开源框架

随着互联网企业的不断发展,产品项目中的模块越来越多,用户体验要求也越来越高,想实现小步快跑、快速迭代的目的越来越难,插件化技术应用而生。如果没有插件化技术,美团、淘宝这些集成了大量“app”的应用,可能会有几个g那么大。

所以,当今的Android移动开发,不会热修复、插件化、组件化,80%以上的面试都过不了。

知识要点: 1、热修复设计 2、插件化框架设计 3、组件化框架设计 4、图片加载框架 5、网络访问框架设计 6、RXJava响应式编程框架设计

设计思想解读开源框架

  • 360°全方位性能调优

在不同层次的开发工程师手里,因为技术水平的参差不齐,即使很多手机在跑分软件性能非常高,打开应用依然存在卡顿现象。

另外,随着产品内容迭代,功能越来越复杂,UI页面也越来越丰富,也成为流畅运行的一种阻碍。综上所述,对APP进行性能优化已成为开发者该有的一种综合素质,也是开发者能够完成高质量应用程序作品的保证。

1、设计思想与代码质量优化

2、程序性能优化

  • 启动速度与执行效率优化
  • 布局检测与优化
  • 内存优化
  • 耗电优化
  • 网络传输与数据储存优化
  • APK大小优化

3、开发效率优化

  • 分布式版本控制系统Git
  • 自动化构建系统Gradle

4、项目实战

  • 启动速度
  • 流畅度
  • 抖音在APK包大小资源优化的实践
  • 优酷响应式布局技术全解析
  • 网络优化
  • 手机淘宝双十一性能优化项目揭秘
  • 高德APP全链路源码依赖分析
  • 彻底干掉OOM的实战经验分享
  • 微信Android终端内存优化实践

360°全方位性能调优

  • Android框架体系架构

Android框架体系架构(高级UI+FrameWork源码) 这块知识是现今使用者最多的,我们称之Android2013~2016年的技术。

Android开发者也往往因为网上Copy代码习惯了而导致对这块经常“使用”的代码熟悉而又陌生:熟悉的是几乎天天在和它们打交道, 天天在复制这些代码 ;陌生的是虽然天天和这些代码打交道,但是并没有深入研究过这些代码的原理,代码深处的内涵。

本篇知识要点: 1、高级UI晋升 2、Android内核组件 3、大型项目必备IPC 4、数据持久与序列化 5、Framework内核解析

Android框架体系架构

  • NDK模块开发(音视频系列)

NDK(Native Development Kit缩写)一种基于原生程序接口的软件开发工具包,可以让您在 Android 应用中利用 C 和 C++ 代码的工具。通过此工具开发的程序直接在本地运行,而不是虚拟机。

在Android中,NDK是一系列工具的集合,主要用于扩展Android SDK。NDK提供了一系列的工具可以帮助开发者快速的开发C或C++的动态库,并能自动将so和Java应用一起打包成apk。

本篇知识要点: 1、NDK开发之C/C++入门 2、JNI模块开发 3、Linux编程 4、底层图片处理 5、音视频开发 6、机器学习

NDK模块开发

  • Flutter学习进阶

2019 年无疑是 Flutter 技术如火如荼发展的一年。

每一个移动开发者都在为 Flutter 带来的“快速开发、富有表现力和灵活的 UI、原生性能”的特色和理念而痴狂,从超级 App 到独立应用,从纯 Flutter 到混合栈,开发者们在不同的场景下乐此不疲的探索和应用着 Flutter 技术,也在面临着各种各样不同的挑战。

本篇知识要点: 1、Flutter跨平台开发概述 2、Windows中Flutter开发环境搭建 3、编写你的第一个Flutter APP 4、Flutter Dart语言系统入门 ......

Flutter学习

  • 微信小程序开发

微信小程序作为现在比较火的编程开发应用场景之一,深受市场的青睐,这让不少开发者眼馋不已。但是对于初学者来说,就完全摸不着头脑了,不知道微信小程序开发制作需要学习那些知识,有需要的朋友可以参考本篇。

本篇知识要点: 1、小程序概述及入门 2、小程序UI开发 3、API操作 4、购物商场项目实战

微信小程序开发

  • Android相关源码解读 只要是程序员,不管是Java还是Android,如果不去阅读源码,只看API文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。

Android相关源码解读 Android相关源码解读部分内容

资料领取:以上所有的PDF学习手册,可以私信回复【进阶】免费获取!