我常常提醒自己要学习,但是我从来没有深想我要学什么,这让我像着急忙慌的兔子。
比如之前学习Glide源码,一头就栽进细节,层层跳转去看实现,现在过了一年,glide基本记不得什么了。
应该的学习方式是,要先了解为什么要学它,然后了解设计思想,然后才是具体实现方式。
比如学习glide,初想只是面试要问,所以需要准备下,但没深想为什么面试要问。现在我想,一方面是为了解决一些深层次问题,另一方面,是为了看你能不能写出这样框架。
为什么会说设计思想更重要呢?在学okhttp的时候,看到一篇文章说到,okhttp它的出现主要是为了解决安卓原生网络框架的链接不能复用的问题。试想,如果不想掌握它的根本思想,就算看得再多细节,面试时也很难说得清楚它,也不能说懂它。