前言
趁着快要回家过年赶紧抽出一点时间来写一下 2019 年的学习总结,虽然已经在单位提交了工作总结,但是个人觉得它们虽说都是总结,其性质还是有点不大一样,一个是工作上的总结,一个是私下自我学习的总结。
今年应该是个人技术瓶颈突破的一年,在年初的时候有幸参加了公司核心项目的研发,最后在 Android 端独立研发完成了 VOIP 通信 SDK ,通过该项目自学了 C/C++ 、NDK 等一些知识。现在已多家合作单位集成并使用了,该 SDK 服务于政府部门。
开发该 SDK 让我接触到了音视频,至此让我对音视频方向的学习无法自拔,现在也成为了一位半吊子音视频工程师。
今年还有一件对我来说比较重要的事,就是技术文章写作,在这一年中掘金平台上分享了大概接近 100 篇的系列文章,这样的成绩还是比较满意的,这也只是一个开始,分享会一直持续下去。
下面就把今年这一年的学习成果做一个汇总,也利于大家方便查看。
掘金写作
系列文章会不定期更新
Flutter 系列
数据结构和算法系列
- 从零开始学数据结构和算法(一)冒泡与选择排序
- 从零开始学数据结构和算法(二)线性表的链式存储结构
- 从零开始学数据结构和算法(三)栈与栈的应用
- 从零开始学数据结构和算法(四)哈希表的思想和二叉树入门
- 从零开始学数据结构和算法(五) 分治法 (二分查找、快速排序、归并排序)
- 从零开始学数据结构和算法(六)二叉排序树
- 从零开始学数据结构和算法(七) huffman 树与 AVL 树
Java 源码分析
Android 源码分析
- 从 setContentView 入口,全方位分析 LayoutInflater
- 分析广播 的 registerReceiver、sendBroadcast、 onReceive 系统到底做了什么?
- Android 8.0 源码分析 (一) SystemServer 进程启动
- Android 8.0 源码分析 (二) Launcher 启动
- Android 8.0 源码分析 (三) 应用程序进程创建到应用程序启动的过程
- Android 8.0 源码分析 (四) Activity 启动
- Android 8.0 源码分析 (五) Service 启动
- Android 8.0 源码分析 (六) BroadcastReceiver 启动
- Android 8.0 源码分析 (七) ContentProvider 启动
- Android 8.0 源码分析 (八) ActivityManagerService
- Android 8.0 源码分析 (九) WindowManager
- Android 8.0 源码分析 (十) WindowManagerService 的窗口管理
第三方流行框架源码分析
- Android 图片加载框架 Glide 4.9.0 (一) 从源码的角度分析 Glide 执行流程
- Android 图片加载框架 Glide 4.9.0 (二) 从源码的角度分析 Glide 缓存策略
- 从源码的角度分析 Rxjava2 的基本执行流程、线程切换原理
- 从源码的角度分析 OKHttp3 (一) 同步、异步执行流程
- 从源码的角度分析 OKHttp3 (二) 拦截器的魅力
- 从源码的角度分析 OKHttp3 (三) 缓存策略
- 从源码的角度分析 Retrofit 网络请求,包含 RxJava + Retrofit + OKhttp 请求讲解
性能优化系列
- 性能优化(一)APP 启动优化(不敢说秒开,但是最终优化完真不到 1s)
- 性能优化(二) UI 绘制优化
- 性能优化(三)看完这篇文章,至少解决 APP 中 90 % 的内存异常问题
- 性能优化(四) ubuntu 完美编译 libjpeg 图像压缩库,媲美微信图片压缩算法
- 性能优化 (五) 长图优化,仿微博加载长图方式
- 性能优化 (六) 老板问你咱们 APP 耗电量,看完这篇文章不仅能知道还能做出对应优化。
- 性能优化 (七) APK 加固之 Dex 加解密,反编译都看不到项目主要代码。
- 性能优化 (八) APK 加固之动态替换 Application
- 性能优化 (九) APP 稳定性之热修复原理探索
- 性能优化 (十) APP 持续运行之进程保活实现
- 性能优化 (十一) ProGuard 对代码和资源压缩
- 性能优化 (十二) APK 极限压缩(资源越多,效果越显著)
- 性能优化 (十三) 有了 breakpad , native 崩溃再也不怕了
移动架构师系列
- 移动架构 (一) 架构第一步,学会画各种 UML 图。
- 移动架构 (二) Android 中 Handler 架构分析,并实现自己简易版本 Handler 框架
- 移动架构 (三) AMS 源码分析
- 移动架构 (四) EventBus 3.1.1 源码分析及实现自己的轻量级 EventBus 框架,根据 TAG 发送接收事件。
- 移动架构 (五) 仅仅对 Java Bean 的操作,就能完成对数据持久化。
- 移动架构 (六) 轻量级进程间通信框架设计
- 移动架构 (七) 人人都能看得懂的组件化框架模型
- 移动架构 (八) 人人都能看得懂的动态化加载插件技术模型实现
设计模式
- 通过代码示例来学习面向对象六大原则
- 设计模式 (一) 通过理论 + 代码示例 + Android 源码中单例模式来学习单例
- 设计模式 ( 二 ) 结合代码示例 + Android 源码中 Builder 来学习建造者模式
- 设计模式 ( 三 ) 原型模式
- 设计模式 ( 四 ) 工厂方法模式
- 设计模式 (五) 抽象工厂模式
- 设计模式 (六) 策略模式
- 设计模式 (七) 状态模式
- 设计模式 (八) 责任链模式
- 设计模式 (九) 观察者模式
- 设计模式 ( 十 ) 备忘录模式
- 设计模式 (十一) 迭代器模式
- 设计模式 (十二) 模板方法模式
- 设计模式 (十三) 访问者模式
- 设计模式 (十四) 中介者模式
- 设计模式 (十五) 代理模式
- 设计模式 (十六) 组合模式
- 设计模式 (十七) 适配器、装饰、享元模式
- 设计模式 (十八) 外观、桥接模式
高级 UI 系列
- 高级 UI 成长之路 (一) View 的基础知识你必须知道
- 高级 UI 成长之路 (二) 深入理解 Android 8.0 View 触摸事件分发机制
- 高级 UI 成长之路 (三) 理解 View 工作原理并带你入自定义 View 门
- 高级 UI 成长之路 (四) Paint 渲染/滤镜/xfermode 使用
- 高级 UI 成长之路 (五) 看完该篇文章 Canvas 你应该会了
- 高级 UI 成长之路 (六) PathMeasure 制作路径动画
- 高级 UI 成长之路 (七) SVG 基础使用 + 绘制中国地图
音视频
- 音视频之进程间传递 YUV 格式视频流,解决不能同时调用 Camera 问题
- 音视频学习 (一) C 语言入门
- 音视频学习 (二) C++ 语言入门
- 音视频学习 (三) JNI 从入门到掌握
- 音视频学习 (四) 交叉编译动态库、静态库的入门学习
- 音视频学习 (五) Shell 脚本入门
- 音视频学习 (六) FFmpeg 4.2.2 交叉编译
开源项目
搭建个人博客
有了一个属于自己的 Blog
未来
在 2018 年末自己对未来很是迷茫,不知道 Android 继续下去的前景发展如何 ?在这段时间考虑了转 Java 或前端。但是在 2019 初公司的一个机会让我接触了音视频开发,之后就深深被它的魅力所吸引,现在已经有了一个明确的方向,我相信未来音视频的技术会越来越吃香。我会坚定自己的目标大力的往音视频和架构 2 个方向深入研究。
音视频方向的技术文章应该也是以后主要分享内容。
坚定目标,勇往直前,加油 !!!
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于