深入剖析原理!致Android高级工程师的一封信,完整PDF

146 阅读3分钟

一. 开发背景

想要成为一名优秀的Android开发,你需要一份完备的知识体系,在这里,让我们一起成长为自己所想的那样。

我们的项目需要开发一款智能硬件。它由 Web 后台发送指令到一款桌面端应用程序,再由桌面程序来控制不同的硬件设备实现业务上的操作。从 Web 后台到桌面端是通过一个 WebSocket 长链接来进行维护,而桌面程序到各个硬件设备也是一个 TCP 长链接来维护的。

本文讲述的,其实是从桌面程序到各个硬件之间的通讯。

为什么要进行体系化?

所谓体系化,其实就是对自己的知识进行梳理。这样才能清楚自己具备哪些能力,欠缺哪些能力。并且可以快速复用知识点,节省重复功能的开发时间。

有人会说,整理常用知识体系,只是停留在使用的层面,无法达到进阶的作用。是的,这个常用知识体系可以帮助我们快速复用功能,节省时间,同时也可以加深我们对功能的表面理解,那么节省出来的时间以及对功能的表面理解是我们对功能的实现原理进阶的基础。由表入里也是一种方法。

我们不仅仅要拓宽知识的纬度,更要加深知识的经度。所以阅读源码、理解原理是我们的目标。

体系如何打造?

整理!先整理细碎的功能点,最后使用思维导图的形式展现出来。

如果觉得别人整理的很好,那么可以直接链接到别人的博客地址,不需要自己重复造车轮子的。

Android常用知识体系思维导图(例子)

Android高级技术大纲.png Java语言进阶与Android相关技术内核.png

总结

现在新技术层出不穷,如果每次出新的技术,我们都深入的研究的话,很容易分散精力。新的技术可能很久之后我们才会在工作中用得上,当学的新技术无法学以致用,很容易被我们遗忘,到最后真的需要使用的时候,又要从头来过(虽然上手会更快)。

我觉得身为技术人,针对新技术应该是持拥抱态度的,入了这一行你就应该知道这是一个活到老学到老的行业,所以面对新技术,不要抵触,拥抱变化就好了。

Flutter 明显是一种全新的技术,而对于这个新技术在发布之初,花一个月的时间学习它,成本确实过高。但是周末花一天时间体验一下它的开发流程,了解一下它的优缺点、能干什么或者不能干什么。这个时间,并不是我们不能接受的。

如果有时间,其实通读一遍 Flutter 的文档,是最全面的一次对 Flutter 的了解过程。但是如果我们只有 8 小时的时间,我希望能关注一些最值得关注的点。

Android学习PDF+架构视频+面试文档+源码笔记

(跨平台开发(Flutter)、java基础与原理,自定义view、NDK、架构设计、性能优化、完整商业项目开发等)