[总]Android高级进阶之路

个人Android高级进阶之路,目前按照这个目录执行,执行完毕再做扩展!!!!!
一.View的绘制
1)setContentView()的源码分析
2)SnackBar的源码分析
3)利用decorView机制实现底部弹出框
4)换肤框架(一)之Support v7库解析
5)小红书欢迎页的视差效果实现
6)换肤框架(二)之换肤框架实现解析
7)View和ViewGroup的绘制原理源码分析
8)自定义ViewGroup(一)之卡牌
二.事件的分发
1)从场景到源码分析事件分发
2)事件分发实例之侧滑菜单
3)自定义behavior的源码分析
4)玩转自定义behavior之顶部停靠
三.动画框架
1)属性动画的基础使用方法
2)属性动画源码分析(Choreographer"编舞者")
3)直播间气泡效果
4)共享元素转场动画
四.Handler机制
1)Handler,MessageQueue,与Looper三者关系分析
2)HandlerThread源码分析
3)IntentService源码分析
4)Handler常见应用场景和常见问题分析
五.Binder机制
1)从framework分析AIDL生成文件
六.流行框架源码分析
1)EventBus3.0源码解析
2)AsynTask源码分析
3)编译期注解的使用例子分析
4)Butterknife源码分析(一)
5)Butterknife源码分析(二)
6)多进程的sharedprefrence解决方案DPreference
7)Volley源码解析
8)OkHttp源码分析
9)Retrofit2源码解析
10)AOP在代码中的使用分析
11)Builder建造者设计模式
12)Observer观察者设计模式
13)责任链设计模式
14)Proxy代理设计模式
15)Strategy策略模式
16)Decorator装饰模式
17)英语流利说文件下载器源码解析
18)UnifyStorage统一的数据库存储,key-value存储,mock网络数据的一个库
七.性能优化
1)冷启动优化
1.1.APP启动分析工具(TraceView,Systrace)
1.2.布局优化(扁平化,Merge的使用,ViewStub的使用)
1.3.APP启动速度优化实例解析
1.4.各种布局的性能对比(LinerLayout,RelativeLayout)
2)内存优化
2.1.LeakCanary原理分析
2.2.Android DiskLruCache 源码解析 硬盘缓存的绝佳方案[转]
2.3.LruCache源码分析
2.4.内存泄漏的一些坑
2.5.MAT内存泄漏分析(一)
2.6.MAT内存泄漏分析(二)
3)网络优化
4)图片压缩性能优化
5)数据传输性能优化
6)减小APK体积
7)渲染优化
7.1.UI卡顿原理分析
7.2.UI卡顿检测分析
7.3.BlockCanary原理分析
7.4.卡顿优化实例解析
8)电量优化
8.1.APP耗电分析方法与工具(第三方,Google官方Battery Historian)
8.2.Android Doze源码分析
8.3.AlarmManager研究 [转]
8.4.在Android Lollipop中使用JobScheduler
8.5.JobScheduler的源码分析
8.6.耗电优化实例解析
9)Android ANR在线监控原理
10)AndroidGodEye解析之帧率(fps)
11)AndroidGodEye解析之流畅度(sm)
12)即将推出GodEye的分析,敬请期待...
八.网络编程
1.TCP问题分析
2.OkHttp源码分析
3.网络传输数据加密策略(对称加密AES,DES,非对称加密RSA)
4.二进制协议(mqtt协议),协议编解码(tlv编解码)
5.Java Socket编程(IO,NIO)
6.Java多线程编程(队列,同步锁,线程池)
7.Android中使用HttpDns
九.Android推送SDK
1.SDK架构设计
2.心跳策略
3.重连策略
4.tcpdump抓包分析
5.进程保活
6.多进程通信
7.TCP连接多路复用
8.Android系统休眠
9.TCP网络问题
10.DHCP租约到期自动续租问题导致TCP连接异常
十.FrameWork层源码的分析
1)应用程序内Activity的启动流程
2)startService的流程分析
3 ) 注册广播接收器的源码分析
4)广播发送过程源码解析
5)广播处理过程源码解析
6)AssetManager加载资源过程
7)ClassLoader及dex加载过程
8)插件化框架VirtualApk之初始化
9)插件化框架VirtualApk之插件加载
10)插件化框架VirtualApk之Activity启动
11)插件化框架VirtualApk之Service管理
12)热修复框架AndFix完全解析
13)InstantRun源码分析[转]
14) Google新组件下的架构思考
[总]Android高级进阶之路的更多相关文章
- Android研发进阶之路
前言 移动研发火热不停,越来越多人开始学习android开发.但很多人感觉入门容易成长很难,对未来比较迷茫,不知道自己技能该怎么提升,到达下一阶段需要补充哪些内容.市面上也多是谈论知识图谱,缺少体系和 ...
- 《Android高级进阶》读书笔记
<Android高级进阶>是据我所知的市面上唯一一本技术工具书,比较的高大全,作者的目的是为了对全领域有个初步的概念 No1: 在Android系统中,拥有事件传递处理能力的类有以下三种 ...
- Android设置图片内存溢出(OOM)问题——Android开发进阶之路6
ImageView设置图片必备常识技术: Android设备会给每个应用分配16M的内存空间,如果你设置的图片的比较大且同一个页面有多个时,经常会报OOM错误导致程序奔溃.所以在这种情况下我们必须要对 ...
- PHP高级进阶之路
一:常见模式与框架 学习PHP技术体系,设计模式,流行的框架 常见的设计模式,编码必备 Laravel.ThinkPHP开发必不可少的最新框架 YII.Symfony4.1核心源码剖析 二:微服务架构 ...
- Android研发技术的进阶之路
前言 移动研发火热不停,越来越多人开始学习android开发.但很多人感觉入门容易成长很难,对未来比较迷茫,不知道自己技能该怎么提升,到达下一阶段需要补充哪些内容.市面上也多是谈论知识图谱,缺少体系和 ...
- Android程序员的进阶之路
本文主要论述的是Android程序员的进阶之路,博主本人就是一名android开发攻城狮,所以这里讲述的大多数是android开发攻城狮的技术进阶之路,如有问题请多指正. 大家都知道程序员之中有有菜鸟 ...
- 浅谈Android进阶之路
过去十年是移动互联网蓬勃发展的黄金期,相信每个人也都享受到了移动互联网红利,在此期间,移动互联网经历了曙光期.成长期.成熟期.现在来说已经进入饱和期.依然记得在 2010-2013 年期间,从事移动开 ...
- Scala进阶之路-Scala中的高级类型
Scala进阶之路-Scala中的高级类型 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.类型(Type)与类(Class)的区别 在Java里,一直到jdk1.5之前,我们说 ...
- Scala进阶之路-Scala高级语法之隐式(implicit)详解
Scala进阶之路-Scala高级语法之隐式(implicit)详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我们调用别人的框架,发现少了一些方法,需要添加,但是让别人为你一 ...
随机推荐
- C++11学习笔记之三lamda表达式,std::function, std::bind
//lamda //first lamda [] {}; // second lamda []() //or no need () when paramater is null { std::cout ...
- 启动samba服务--ubuntu 14.04
1. 修改配置文件 /etc/samba/smb.conf文件末尾添加 [homes] comment = Home Directories browseable = yes read only = ...
- 手机SLAM开发
...惯性定位 由简入繁 保留JPG文件. 回环 建模
- Jquery 【on事件】
一.on事件的定义和用法 on() 方法在被选元素及子元素上添加一个或多个事件处理程序. 自 jQuery 版本 1.7 起,on() 方法是 bind().live() 和 delegate() 方 ...
- vim 插入时间戳的方法
这里主要说明用内置函数 strftime 来插入,而不用 :r!date 或类似方法. 用命令 "=strftime('%c')<Ret>p ,或<C-r>=strf ...
- 9、select 语句
基础语句 select * from tb1; select * from tb1 limit 3; select name,age from tb1; select name,age from tb ...
- AOP之 Filter实用
前言 开心一笑~~~ 一个年轻的程序员和一个项目经理登上了一列在山里行驶的火车,他们发现列车上几乎都坐满了,只有两个在一起的空位,这个空位的对面是一个老奶奶和一个年轻漂亮的姑娘.两个上前坐了下来.程序 ...
- ObjectARX二次开发创建自己的静态库,如同objectARX库一样
objectARX二次开发的时候,经常会用到一些重复使用的类,如果类已经足够的好,那么我们可以编译成静态库,加快开发和编译的速度,提高工作效率. 环境vs2010+objectARX2012wizar ...
- [ActionScript 3.0] 十进制与二进制,十六进制等数据之间的相互转换
将十进制转换为二进制,方法是:将数字除以2,根据余数来从右往左排列二进制的位数,如下以十进制数10为例 10除以2得5,余数为0,故第一个位置为0: 5除以2得2,余数为1,故第二个位置为1: 2除以 ...
- ThinkPHP 3.2.x 集成极光推送指北
3.2版本已经过了维护生命周期,官方已经不再维护,请及时更新至5.0版本 -- ThinkPHP 官方仓库 以上,如果有条件,请关闭这个页面,然后升级至 ThinkPHP 5,如果由于各种各样的原因无 ...