题外话
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在IT学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多程序员朋友无法获得正确的资料得到学习提升,故此将并将重要的Android进阶资料包括自定义view、性能优化、MVC与MVP与MVVM三大框架的区别、NDK技术、阿里面试题精编汇总、常见源码分析等学习资料。
【Android思维脑图(技能树)】
知识不体系?这里还有整理出来的Android进阶学习的思维脑图,给大家参考一个方向。
希望我能够用我的力量帮助更多迷茫、困惑的朋友们,帮助大家在IT道路上学习和发展~
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
数据结构
复杂度分析
-
时间复杂度
-
空间复杂度
线性表
-
数组
-
链表
-
单链表
-
双向链表
-
循环链表
-
静态链表
-
队列
-
顺序存储
-
链式存储
-
栈
-
顺序栈
-
链式栈
散列表
-
散列函数
-
冲突解决
树
-
二叉树
-
平衡二叉树
-
二叉查找树
-
平衡二叉树(AVL树,红黑树)
-
多路查找树
-
B树
-
B+树
-
2-3树
-
2-3-4树
-
堆
-
小顶堆
-
大顶堆
-
二项堆
-
裴波那契堆
-
遍历
-
深度优先
-
官渡优先
图
-
存储
-
邻接矩阵
-
邻接表
-
十字链表
-
最小生成树
-
遍历
-
最短路径
-
拓扑排序
算法
基本算法思想
-
贪心算法
-
分治算法
-
动态规划
-
回溯算法
-
枚举算法
排序
-
O(n^2)
-
冒泡排序
-
插入排序
-
选择排序
-
希尔排序
查找
-
线性表查找
-
散列表查找
-
树结构查找
-
图查找
搜索
-
广度优先
-
深度优先
字串符
-
存储
-
模式匹配
编程语言
====
由于 Android 开发主要使用 Java 语言,因此对于 Java 的学习显得尤为重要,因此本公众号也会着重学习 Java 各方面的知识点,对于 Android 开发,Google 目前也主推 kotlin ,因此也会涉及到 kotlin 相关的内容。对于跨平台开发的内容,RN 和 Flutter 我们也会涉及到的。
基础
-
JDK/JRE区别
-
数据类型
-
自动装包拆包
-
重载和重写区别
-
接口
-
多态
-
继承
-
内部类
高阶
集合框架
-
Collection
-
List(ArrayLlst,LinkedList,Vector)
-
set(Treeset,HashSet)
-
Map
-
HahsMap
-
HashTable
-
TreeMap
-
ArrayMap
-
多线程容器
-
CopyonwrteArrayLlst
-
ConCurrencyHashMap
多线程/井发锁
-
生命周期
-
启动方式
-
线程安全/锁
-
线程池
进程/通信方式
-
Socket
-
消息队列
-
管道
-
内存共享
-
AIDL
-
信号量
反射
泛型
动态代理
垃圾回收和GC
-
分代回收
-
回收算法
-
垃圾回收机制
-
可达性分析
-
引用类型
JVM虚拟机
-
classLoader
-
JVM内存模型
-
GC回收机制
注解
Android
接下来就是我们的重头戏 Android 部分的知识点,Android 部分的知识点多而且杂,因此做一个学习大纲很重要,将重要的知识点都以大纲的形式列出来,这对于我们学习 Android 开发帮助很大。
入门
Androld studio安装及插件使用
-
安装
-
常用插件
-
GsonFormat
-
Android Parcelable code generator
-
Lifecycle sorter
-
Adb WIFI
-
ECTranslation
四大组件
-
Actlvity
-
Activty启动过程
-
启动模式
-
生命周期
-
taskAtfinity
-
intent
-
onNewIntent
-
Service
-
startService
-
bindService
-
IntentService
-
ContentProvider
-
BroadCaseReceiver
-
注册方式(动态,静态)
-
传递方式(有序,无序)
-
事件种类(自定义,系统)
-
范围(全局,本地)
组件持有的Context和Appllcation区别
fragment
-
懒加载
-
与Activity/fragment通信
view的基础知识
-
工作原理
-
onMeasure
-
onDraw(palnt,Bltmap,Canvas,Matrix,PorterDuftXtermode)
-
onL ayout
-
基础
-
查看工具(GestureDetector,VelootyTracker,VlewConfiguration)
-
监听(onTouch,onTouchEvent,onCllck,执行顺序)
-
滑动
-
事件分发(dispatchTouchEvent,onInterceptTouchEvent,onTouchEvent)
-
滑动冲突解决
常用控件/布局
-
Recyclerview
-
SupportLibrary
-
v4
-
v7
-
v11
-
Webview
-
JSBridge
-
Deeplink
-
首屏加速
-
内存泄漏
-
Surfaceview
-
Dialog
-
SnackBar
-
Notitication
-
ActlonBar
-
约束布局
基础动画
-
属性动画
-
帧动画
-
Animation补问动画
-
MaterialDesign动画
MaterialDesign
- 状态栏/导航栏/沉漫式设计
资源
-
单位
-
theme
-
Layout
-
Drawable
-
.9patchEH
-
Shape(gradient,size,stroke,padding,corners)
-
selector
-
适配
进阶
进程/线程/事件
-
线程通信
-
Handler
-
Timer/TimerTask
-
Thread/ThreadPoolExcutor
-
AsyncTask
-
IntentServlce
-
进程
-
优先级(可见进程,服务进程,后台进程,空进程,前台进程)
-
进程间通信(Messager,AIDL,BInder,序列化,匿名共享内存)
-
事件
-
事件总线
-
应用保活
-
白色保活
-
黑色保活
-
灰色保活
数据持久化
-
本地存储
-
Sqlite
-
sharedPreterence
-
文件
-
数据格式
-
Json
写在最后
在技术领域内,没有任何一门课程可以让你学完后一劳永逸,再好的课程也只能是“师傅领进门,修行靠个人”。“学无止境”这句话,在任何技术领域,都不只是良好的习惯,更是程序员和工程师们不被时代淘汰、获得更好机会和发展的必要前提。
如果你觉得自己学习效率低,缺乏正确的指导,可以一起学习交流!
加入我们吧!群内有许多来自一线的技术大牛,也有在小厂或外包公司奋斗的码农,我们致力打造一个平等,高质量的Android交流圈子,不一定能短期就让每个人的技术突飞猛进,但从长远来说,眼光,格局,长远发展的方向才是最重要的。
35岁中年危机大多是因为被短期的利益牵着走,过早压榨掉了价值,如果能一开始就树立一个正确的长远的职业规划。35岁后的你只会比周围的人更值钱。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
数据格式
- Json
写在最后
在技术领域内,没有任何一门课程可以让你学完后一劳永逸,再好的课程也只能是“师傅领进门,修行靠个人”。“学无止境”这句话,在任何技术领域,都不只是良好的习惯,更是程序员和工程师们不被时代淘汰、获得更好机会和发展的必要前提。
如果你觉得自己学习效率低,缺乏正确的指导,可以一起学习交流!
加入我们吧!群内有许多来自一线的技术大牛,也有在小厂或外包公司奋斗的码农,我们致力打造一个平等,高质量的Android交流圈子,不一定能短期就让每个人的技术突飞猛进,但从长远来说,眼光,格局,长远发展的方向才是最重要的。
35岁中年危机大多是因为被短期的利益牵着走,过早压榨掉了价值,如果能一开始就树立一个正确的长远的职业规划。35岁后的你只会比周围的人更值钱。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!