目录:
- 过去的自己
- 模块学习
- Android自定义View
- 性能优化
- 多线程并发编程
- C/C++ NDK 开发流程 实现 OpenCV 身份证银行卡数字识别
- FrameWork 源码
- 换肤、热修复原理
- 音视频 ffmpeg的编译、算法
- 计划
如果你很迷茫,不知道学什么、做什么。那就去学习吧、不要问学什么、随便学、只要你不会的、学着、学着你就知道你要学什么、做什么方向了。(这句话给了我很大动力!)不要到了迷茫期、你就不学了、这样你只会一直迷茫下去、一直找不到答案。
1. 过去的自己
一晃眼一年又过去了,毕业已经三年半了。失去了很多,也的到了很多。不管最终的结果如何,过去的就让ta释然、未来的都满存着期待、现在的尽力做到最好。
从2015年大四开始到小公司实习,领着一个月3000的工资,那时候也不知道自己坚持着什么,从一开始做着简单的app开发。说是实习其实整个android app 都是自己做、没人带、没人教、直接做需求。没办法作为新人,每天下班都要坚持学习,一直很难忘刚来南京的时候,也是我第一次来南京。自己每天都会学习到12点。那段时间真的真的非常累、压力很大、我不怕类,我就怕遇到做不了的需求,记得那时候对我来说最难的就是自定义View、界面显示和一些复杂的业务逻辑等,对于我这个完全新人来说,全是压力。也许我是农村小孩能吃苦吧(现在家庭条件还可以,只是小时候很穷养成了这种习惯,说实话很感谢那时候的生活)。
其实我也很庆幸自己当初选择走入这一行,我是自动化专业,毕业的时候我依然绝然的选择了这个行业,同学都问我为啥选择这个,其实我也不知道为什么。毕业的时候我们班就我自己做了这个行业。这三年我也明白了一个道理:选择真的比努力重要。
我感觉在当今社会不靠关系、不靠家人、只通过自己努力能让自己过的更好,摆脱贫困的行业”程序员“行业算一个。所以程序员们既然我们选择了这个行业,就人我们好好努力吧,未来的日子会给你更多。不管何时会失业,至少现在的我们过的很好。
说了这么多其实也算是对自己毕业这段时间的一个总结吧,其实作为一个初级android程序员,大家应该都经历过迷茫的阶段,我之前也是大概是从2017年开始,那时候我很迷茫,天天不知道做什么、不知道学些什么、先后我学习了 html/cs/js/jq/h5等 开始学习混合开发,说实话这些并不难,在小公司里面确实能用到,因为小公司什么都要做,最终因为自己感觉这些知识还是太片面。然后又开始学了一段时间的java web服务端开发,后来发现全是框架,感觉还不是自己想要的方向,最终又放弃了。后来想了想最后还是坚持学习了android方面的知识。经过我走的这些弯路,我明白了其实android的市场还是很 宽阔的。一直到今天android的市场依然很宽阔。所以如果你现在也处在这个阶段,请你不要怀疑自己、不要怀疑android市场,对于android你可以坚持学下去,时间会给你答案。
说了这么多现在就来总结一下这段时间学习的android知识点。
2.模块学习
对于android的学习我大致分为几个阶段:
- 初级开发各种控件能够基本运用、一般的app开发没有问题
- 数据结构、设计模式
- Android自定义View 能够自己定义一些View、动态界面效果
- 简单的内存泄漏、内存优化、app启动优化等
- 多线程并发编程 JVM等
- C/C++ NDK 开发流程 : Android NDK/C/C++开发实战
- OpenCV 银行卡/身份证号识别涉及到 NDK 开发的应用(学习了C/C++NDK就做个例子) Android NDK/C/C++开发实战
- 学习了 C/C++ NDK 可以学习 FrameWork 源码 系统启动流程等
- 音视频开发、算法
个人学习分的模块,我的学习方式是一个模块一个模块的学、不乱学、学完之后写博客总结、一个模块一个模块的容易复习。
对于1、2学习没有做记录,看书/看博客。对于后面的,列出一下章节。
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
3.Android自定义View
- Android自定义view基础详解及开发流程
- Android自定义view中必不可少的哪些方法和参数详解
- Android自定义view案例一气泡框
- Android自定义view半圆形"错误提示框"和简单动画使用
- 自定义view增加动画效果
- 仿微信二维码扫描自定义view
- Android自定义view --Path 的高级用法之-搜索按钮动画
- ViewDragHelper仿美团订单拖拽功能 初探
- Android自定义view --之--仿“滴滴打车”等车倒计时
- Android 自定义view之 Xfermode 制作动态文字加载动画
- Android 加载SVG动画
- Android 自定义view综合实战
- 仿网易云音乐均衡器调节UI效果
- Android 绘制录音波浪 + 拓展: 让“字体”迎波而浪
列举效果图:
4.性能优化
- Android 开发中OOM内存泄漏问题案例
- Android studio + MAT内存分析优化 一
- LeakCanary-性能优化分析 二
- Java8和enum枚举简单使用 优化代码
- 布局优化,启动优化,cpu占用率版本问题profile不能用、(待完成)
- 卡顿优化,耗电量优化, apk体积优化,ANR解决,代码优化技巧(待完成)
5.多线程并发编程
- Java虚拟机引发的连环血案
- 多线程并发 (一) 了解 Java 虚拟机 - JVM
- 多线程并发 (二) 了解 Thread
- 多线程并发 (三) 锁 synchronized、volatile
- 多线程并发 (四) 了解原子类 AtomicXX 属性地址偏移量,CAS机制
- 多线程并发 (五) ReentrantLock 使用和源码
- 多线程并发 (六) 了解死锁
-
多线程并发 (七) 线程池原理
6. C/C++ NDK 开发流程 实现 OpenCV 身份证银行卡数字识别
- c语言基础
- Android studio配置NDK开发环境
- JNI/NDK 开发 C/C++ 典型基础知识点
- JNI/NDK开发 C 调用java方法
- JNI/NDK开发 配置CMakelist文件加载第三方 so
- OpenCv NDK 银行卡/身份证号识别(1) OpenCv NDK项目集成
- OpenCv NDK 银行卡/身份证号识别(2) Bitmap和Mat相互转化
- OpenCv NDK 银行卡/身份证号识别(3) 银行卡/身份证图像处理和卡号区域剪切
- OpenCv NDK 银行卡/身份证号识别(4) 基于openCv SVM的机械学习模型训练识别
当然这些只是我学过列出来的关键的一些学习,还有一些没有总结,学习的时候要根据自己情况,去搜索相关知识点。
效果图:
7.FrameWork 源码
- 源码学习总结《1》Android 系统启动流程
- 源码学习总结《2》Android 应用程序进程启动
- 源码学习《3》Layout.xml 的解析和 xml 标签生成 View 对象的过程(App 换肤原理 1)
- 源码学习《4》Launcher 启动 app 和 apk 资源的加载流程 (App 换肤原理 2)
- 源码学习《5》PMS 的启动 和 AndroidManifast.xml 解析流程
- 源码学习《6》Classloader 类加载机制 (热修复 1)原理篇
- 源码学习《7》Classloader 类加载机制 (热修复 2)实现篇
- 源码学习《8》Handler,Message,MessageQueue,Looper,ThreadLocal 通讯机制
- Binder IPC跨进程通讯学习记录
- Android 语言切换时发生了什么,源码是怎么调用的,对我们app有何影响,我们该怎么做去避免发生异常
- Android SQLite 数据库不丢失数据自动升级流程
等等这些,还会持续源码学习
看过的一些书籍:
以上这些基本上是自己这段时间以来,一直坚持学习的,对于2020的计划是
8.换肤、热修复原理
- 源码学习《3》Layout.xml 的解析和 xml 标签生成 View 对象的过程(App 换肤原理 1)
- 源码学习《4》Launcher 启动 app 和 apk 资源的加载流程 (App 换肤原理 2)
- 源码学习《6》Classloader 类加载机制 (热修复 1)原理篇
- 源码学习《7》Classloader 类加载机制 (热修复 2)实现篇
9.音视频 ffmpeg的编译、算法
- C/C++ NDK 编译ffmpeg 视频流等
- 算法
这些还在坚持学习,作为2020年的计划,相信学过C/C++NDK 开发 OpenCV之后,在此基础上,再来用C/C++NDK 开发ffmpeg应该会有帮助。
10. 2020计划
在2020年希望自己的努力都能有所收获,在2020年首先是坚持 framework源码的学习、性能优化、音视频相关、算法等。希望自己能更上一层楼。
过去这段时间一直学习的标签、也通常会问自己问题:
如果你很迷茫,不知道学什么、做什么。那就去学习吧、不要问学什么、随便学、只要你不会的、学着、学着你就知道你要学什么、做什么方向了。
希望2020自己能变得更努力、更幸运、加油!
大步的、勇敢的、走下去、未来就是答案。
【大提琴&钢琴】蒲公英的约定 超催泪抒情版——两段青春故事的重合
蒲公英的约定
- 小学篱笆旁的蒲公英
- 是记忆里有味道的风景
- 午睡操场传来蝉的声音
- 多少年后也还是很好听
- 将愿望折纸飞机寄成信
- 因为我们等不到那流星
- 认真投决定命运的硬币
- 却不知道到底能去哪里
- 一起长大的约定
- 那样清晰 拉过勾的我相信
- 说好要一起旅行
- 是你如今 唯一坚持的任性
- 在走廊上罚站打手心
- 我们却注意窗边的蜻蜓
- 我去到哪里你都跟很紧
- 很多的梦在等待着进行
- 一起长大的约定
- 那样清晰 拉过勾的我相信
- 说好要一起旅行
- 是你如今 唯一坚持的任性
- 一起长大的约定
- 那样真心
- 与你聊不完的曾经
- 而我已经分不清
- 你是友情还是错过的爱情
转载:https://blog.csdn.net/WangRain1/article/details/104042797