ITPub博客

首页 > 移动开发 > ANDROID > Android,你从入门到放弃了吗?程序员:你不知道我经历了什么!

Android,你从入门到放弃了吗?程序员:你不知道我经历了什么!

原创 ANDROID 作者:yilian 时间:2020-04-09 11:59:38 0 删除 编辑

从安卓入门的那一天,我们就见过一本书《Android,从入门到放弃》,随着这么多年的开发,有放弃、有坚持的,我相信坚持的人占了多数。

这个多数人,已经是专业的大牛了,而有人还停留在菜鸟阶段,为了让大家都成为别人眼中的大牛,我给大家找找原因。

最大的原因就是没有效率!

看似每天忙成狗,回头却发现,月复一月,日复一日,薪资没涨一点,年龄越来越大了。不知道时间都到哪里去了,明明是每天兢兢业业的工作,可是怎么就得不到提升呢?

就是我们的学习效率太低,没有合理 的规划而已~


总结了一下为什么效率这么低,完全规划不起来呢?我们在上学以来一直都羡慕那种玩的多但是考的又好的人,他学习的时候你也在学习,他玩的时候你也在学习,但实际上每次考试他都能领先你一大截,有的时候我们看似都在安安静静的学习,但是效率却是个很大的差别,你学习两个小时的效果都不一定有别人半个钟头的学习效果好,这就是效率问题,那么为什么学习效率会有如此的差别呢?

在我看来,最重要的原因就是:方法

在这个知识膨胀的时代,每天面对铺面而来的海量信息,我们的学习也不再是按照以往传统的学习模式了,更重要的是我们要进行科学学习,什么是学习?学会学习才是根本,如何学会学习,那就要讲求方法了,我们经常看到一些学霸等传奇人物,听他们的经历,学他们的方法,路有千千万,但是你想过没有,也许适合你走的只有一条而已,所以,别人的不一定适合你,适合自己的才是最好的,但是学习效果不佳的原因却大致有以下几个:

没有正向反馈(学习到什么程度自己心里没数) 学习方法不对(用错误的方式去学习) 知识不成体系(学的知识很杂,东一块西一块) 有效时间不多(感觉没有多余的时间用在学习上)

关于“没有正向反馈”

这应该很好理解,这里的没有正向反馈指的就是我们在学习的过程中并不能看到感受到因学习而真正给我们带来有什么不一样的东西,哪怕是一种感觉,又或者是物质上的东西,总之,这是能够让我从内心觉得“学习真好”,可是我们往往却很少遇到。我们总是希望付出了就能立马看到收获的,一旦达不到自己的期望,我们也就失去了激情,甚至开始抱怨,自然学习效率就会下降,所以学习中,我们一定要对正向反馈加以重视,这里说几点关于我学习中用到的正向反馈吧!

  • 我学习编程有写博客的习惯,当我刚写完一篇博客的时候会有点小小成就感,随后我会发给我认识的一些前辈,很多都给予了肯定,哪怕是鼓励我我也高兴!

  • 有的时候我也会给一些大牛投稿,一旦被采用,那种心情是相当的说不出口的(太高兴了)

  • 在专业上我会帮别人解答一些问题或者分享一些知识等

以上都是我的一些正向反馈,这些都能激励我更有动力的去学习,学习,你也有该有自己的正向反馈!

关于“学习方法不对”

这几天特别中意一句话“当你找到了适合自己的努力方式,你就如同万千牛人一样走在了光彩夺目掌声阵阵的人生征途上”,这句话就强调了方法是多么的重要,有的时候我们很项目那些学霸,觉得是自己智商不够,其实不然,最重要的是那些所谓的学霸都有自己的一套学习方法。我们可以扪心自问,我们大多数人每天都在学习,但是又有多少人真正思考过自己学习方法的问题呢?我只是机械式的去学习而已,并没有想着找寻一套属于自己的方法体系,这就是我们与学霸的差别吧!

前几天在读美国作家本尼迪克特•凯里的《如何学习》一书,读完很受启发,其中书中提到了一种学习方法叫做“分散式学习”,讲述的是利用间隔效应去学习,通俗来说就是我们把大块的学习任务拆分开来去学,书中提到,你花两个小时一口气把一个知识点给学了没有分两天每天一小时的学习效果好,这就是方法

关于学习方法的探讨很多很多,只是我们貌似从来没有在意过,另外,切记只有适合自己的才是最好的,成功的人有很多,但是他们的路你不一定走得了,去寻找属于自己的学习方法论吧!

关于“知识不成体系”

不知道大家在学习的过程中有没有做笔记的习惯,我一直觉得做笔记是非常重要的,记得在高中的时候,我会给每一科都准备一个笔记本,上面写满了笔记,但是后来愈发的觉得笔记很乱,经常是一个知识点在很多页记着,这就导致了很多问题。我们在回过头来说“知识不成体系”,确实如此,我们每天都在学习,每天都接收了大量的信息,而且这些信息又是零散的,不成体系的,如果我们再不加以记录,很容易遗忘,而且会感觉乱糟糟的,一点也不清晰明了,该怎么办?很简单,将我们学到的知识都记录下来,而且是分门别类的记录下来,将知识体系化,做一个属于自己的体系化知识库,这样我们不仅会对我们学习的知识有个全面的了解,而且非常方便我们的复习巩固等!还可以让我们看到哪地方是自己的弱势,方便弥补!这里以我自己举个例子,方便大家理解!

我在学习Android的时候会将自己学到知识都分类别的进行整理,将自己学到的知识体系化,例如我会分成如下类别:

  • 性能优化

  • 多线程

  • 源码分析

  • 数据结构和算法

  • 设计模式

  • 框架设计

  • NDK

  • APP开发

  • 微信小程序

  • Flutter和kotlin

再比如我在学习中制作的一个学习思路脑图,由于内容过多,这里就放上一个大概的思路脑图分享给大家 高清图可以看文末


有了以上的分类记录,我就对Android的一个大概的知识体系有个了解,以后相关学习都会放在对应的目录下,平常看看,也知道自己哪方面不熟悉,随时复习巩固,做到对学到的知识心中有数,体系化知识构建不可缺少!

关于“有效时间不多”

我们看似每天从早到晚都在学习,但是不知道你与没有仔细的算过,一天里,你真正投在学习上的有效时间少的可怜,科学调查发现,你一天若能有效学习8个小时,你将超越百分之98的人,可是又有多少人做到,在每天的学习过程中,影响我们的太多了,有句话说的很好,当你无意间打开了一个手机网页,这正是你一天堕落的开始,很多细微的事情把我们的有效时间侵蚀的所剩无几。

如何提高自己的有效学习时间,从身边最简单的开始,学习的时候把手机放一边,电脑也不要登qq,静下心来,保持专注,看你一天能有多少有效的学习时间,试试吧!

关于我的Android学习之路

不知不觉自己已经做了几年开发了,由记得刚出来工作的时候感觉自己能牛逼,现在回想起来感觉好无知。懂的越多的时候你才会发现懂的越少。

如果你的知识是一个圆,当你的圆越大时,圆外面的世界也就越大。

在我学习的过程中,最开始是在网上找了很多资料,毕竟这些资料是我们开始最快速的学习方法,这里我放上我这些年在网上收集到的资料,然后再以我的工作经验给大家总结一下,让你们少走些弯路,提取一些目前互联网公司最主流的Android开发架构技术,希望能帮助到大家!

性能优化

  • 1.图片的三级缓存中,图片加载到内存中,如果内润快爆了,会发生什么?如何处理

  • 2.内存中如果加载一张500*500的png的高清图片,应该是占用多少的内存?

  • 3.WebView的性能优化

  • 4.Bitmap如何处理大图,如果一张30M的大图,如何预防OOM

  • 5.内存机制与GC算法

  • 6.内存泄漏和内存溢出的区别?AS有什么工具可以检测内存泄漏

  • 7.怎么保证应用启动不卡顿,黑白屏怎么处理

  • 8.强引用置为null,会不会被回收?

  • 9.ListView跟RecycleView的区别

多线程

  • 1.线程状态和创建

  • 2.线程中断

  • 3.Thread为什么不能用stop方法停止线程

  • 4.线程池的种类

  • 5.线程同步机制与原理

  • 6.为什么HashMap线程不安全

  • 7.进程线程的区别

  • 8.Android单线程模型

源码解析

  • Java深入源码级

  • 1.那些情况下的对象会被垃圾回收机制处理掉

  • 2.常见编码方式

  • 3.utf-8编码中的中文占几个字节;int型几个字节

  • 4.静态代理和动态代理的区别,什么场景使用

  • 5.对解析与分派的人数

  • 6.Java中实现多态的机制是什么

  • 7.如何将一个Java对象序列化到文件里

  • 8.java反射和注解

  • 9.泛型原理

  • 10.java中string的种种

Android源码相关

  • Android属性动画实现原理

  • 补间动画实现原理

  • Android各个版本API的区别

  • Requestlayout,onlayout,onDraw,DrawChild区别和联系

  • invalidate和postInvalidate的区别及使用

  • Activity-window-view三者的差别

  • 对Volley的理解

  • 如何优化自定义View

  • 低版本SDK如何实现高版本api

  • 一次网络请求的流程

  • HttpUrlConnection和okhttp关系

网络编程

数据结构

  • 常用数据结构

  • 并发合集

  • java的集合以及集合之间的区别

  • list,set,map的区别

  • HashMap的实现原理

  • ConcurrentHashMap的实现原理

  • Arraymap和HashMap对比

  • HashTable实现原理

  • Hashmap和HashTable的区别

  • HashMap与HashSet的区别

  • HashSet与Hashmap怎么判断集合元素重复

  • 集合Set实现Hash

  • Arraylist和LinkedList区别以及应用场景

设计模式

  • 设计模式六大原则

  • 设计模式的分类

框架设计

  • 热修复设计

  • 插件化框架解读

  • 组件化框架设计

  • 图片加载框架

  • 网络访问框架设计

  • RXJava响应式编程框架设计

  • IOC架构设计

  • Android架构组件Jetpack

NDK开发

  • NDK基础知识

  • 底层图片处理

  • 音视频开发

进军BATJ大厂等(备战)!现在都说互联网寒冬,其实无非就是你上错了车,且穿的少(技能),要是你上对车,自身技术能力够强,公司换掉的代价大,怎么可能会被裁掉,都是淘汰末端的业务Curd而已!

现如今市场上初级程序员泛滥,这套教程针对Android开发工程师1-6年的人员、正处于瓶颈期,想要年后突破自己涨薪的,进阶Android中高级、架构师对你更是如鱼得水,赶快领取吧!

上述【高清技术脑图】以及【配套的架构技术PDF】 更多信息可以点击 Android学习大全 , 非常希望和大家一起交流 , 共同进步!

更多精彩内容可以关注我,查看个人简介哦~


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69952849/viewspace-2685158/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
人生的长跑中,跑得最远的人,可能不是跑得最快的人,而是规划了最佳行程的人 Android学习也是如此,分享Android学习内容、面试精选等,关注我,需要学习计划大纲和学习内容:xx13414521

注册时间:2019-11-05

  • 博文量
    175
  • 访问量
    146018