BAT大牛 带你深度剖析Android 10大开源框架

第1章 课程介绍(提供bat内推和简历指导)

  • 1-1 课程导学

第2章 Okhttp网络库深入解析和相关面试题分析

  • 2-1 okhttp框架流程分析
  • 2-2 okhttp同步请求方法
  • 2-3 okhttp异步请求方法
  • 2-4 okhttp同步请求流程和源码分析
  • 2-5 okhttp异步请求流程和源码分析-1
  • 2-6 okhttp异步请求流程和源码分析-2
  • 2-7 okhttp任务调度核心类dispatcher解析-1
  • 2-8 okhttp任务调度核心类dispatcher解析-2
  • 2-9 okhttp拦截器流程
  • 2-10 okhttp拦截器链介绍
  • 2-11 okhttp之RetryAndFollowUpInterceptor解析
  • 2-12 okhttp之BridgeInterceptor解析
  • 2-13 okhttp缓存策略源码分析:put方法
  • 2-14 okhttp缓存策略源码分析:get方法
  • 2-15 okhttp拦截器之CacheInterceptor解析
  • 2-16 okhttp拦截器之ConnectInterceptor解析-1
  • 2-17 okhttp拦截器之ConnectInterceptor解析-2
  • 2-18 okhttp连接池:put,get方法
  • 2-19 okhttp连接池:connection回收
  • 2-20 okhttp拦截器之CallServerInterceptor解析
  • 2-21 okhttp面试: Socket-1
  • 2-22 okhttp面试: Socket-2
  • 2-23 okhttp面试: HttpClient&HttpUrlConnection
  • 2-24 okhttp面试: OkHttp来实现WebSocket连接
  • 2-25 okhttp面试: WebSocket&轮询相关
  • 2-26 okhttp面试: Http缓存、Etag等标示作用
  • 2-27 okhttp面试: 断点续传原理&Okhttp如何实现
  • 2-28 okhttp面试:多线程下载
  • 2-29 okhttp面试:文件上传&Okhttp如何处理文件上传
  • 2-30 okhttp面试:如何解析Json类型数据
  • 2-31 okhttp面试:Https/对称加密&不对称加密

第3章 Retrofit网络库深入解析和相关面试题分析

  • 3-1 retrofit流程分析
  • 3-2 retrofit概述
  • 3-3 retrofit官网例子解析
  • 3-4 retrofit请求过程7步骤详解
  • 3-5 静态代理模式讲解
  • 3-6 动态代理模式讲解
  • 3-7 retrofit网络通信流程8步骤&7个关键成员变量解析
  • 3-8 retrofit中builder构建者模式&builder内部类解析
  • 3-9 retrofit中baseurl/converter/calladapter解析
  • 3-10 retrofit中build方法完成retrofit对象创建流程解析
  • 3-11 retrofit中RxjavaCallAdapterFactory内部构造与工作原理解析
  • 3-12 retrofit中网络请求接口实例解析
  • 3-13 retrofit中serviceMethod对象解析
  • 3-14 retrofit中okHttpCall对象和adapt返回对象解析
  • 3-15 retrofit中同步请求&重要参数解析
  • 3-16 retrofit中异步请求解析
  • 3-17 retrofit设计模式解析-1:构建者模式
  • 3-18 retrofit设计模式解析-2:工厂模式
  • 3-19 retrofit设计模式解析-3:外观模式
  • 3-20 retrofit设计模式解析-4:策略模式
  • 3-21 retrofit设计模式解析-5:适配器模式
  • 3-22 retrofit设计模式解析-6:动态代理模式/观察者
  • 3-23 retrofit面试题:retfrofit线程切换(异步机制Looper)
  • 3-24 retrofit面试题:rxjava和retrofit如何结合进行网络请求
  • 3-25 retrofit面试题:Hook与动态代理
  • 3-26 retrofit面试题:Android MVC架构优势和缺点
  • 3-27 retrofit面试题:MVP优点和缺点
  • 3-28 retrofit面试题:sp跨进程&apply和commit方法

第4章 Glide图片库深入解析和相关面试题分析

  • 4-1 glide框架流程分析
  • 4-2 glide框架介绍-1
  • 4-3 glide框架介绍-2
  • 4-4 glide图片加载流程和源码分析-1:with方法(requestManager获取)
  • 4-5 glide图片加载流程和源码分析-2:with方法(requestManagerRetriever的get方法)
  • 4-6 glide图片加载流程和源码分析-3:load方法
  • 4-7 glide图片加载流程和源码分析-4:into方法(buildTarget)
  • 4-8 glide图片加载流程和源码分析-5:into方法(request建立和begin方法)
  • 4-9 glide图片加载流程和源码分析-6:into方法(Loadprovider)
  • 4-10 glide图片加载流程和源码分析-7:into方法(硬盘缓存/内存缓存)
  • 4-11 glide图片加载流程和源码分析-8:into方法(内存缓存的读取)
  • 4-12 glide图片加载流程和源码分析-9:into方法(内存缓存的写入)
  • 4-13 Glide面试一:bitmap&oom&优化bitmap
  • 4-14 Glide面试二:三级缓存&lrucache

第5章 LeakCanary内存泄漏框架解析和相关面试题分析

  • 5-1 leakcanary预备知识:android性能优化&Gcroots
  • 5-2 leakcanary内存框架:内存泄漏基础&为什么需要leakcanary
  • 5-3 android常见内存泄漏分析-1:单例VS非静态内部类
  • 5-4 android常见内存泄漏分析-2:handler&解决办法
  • 5-5 android常见内存泄漏分析-3:线程&WebView
  • 5-6 leakcanary原理分析-1:Leakcanary原理概述和弱引用/引用队列
  • 5-7 leakcanary原理分析-2:ActivityRefWatcher如何监视Activity
  • 5-8 leakcanary原理分析-3:.hprof转换snapshot
  • 5-9 leakcanary原理分析-4:查找内存泄漏引用和最短泄漏路径
  • 5-10 leakcanary面试题:Application&内存
  • 5-11 leakcanary面试题:性能数据上报:网络流量和冷启动
  • 5-12 leakcanary面试题:性能数据上报:UI卡顿和内存占用

第6章 butterknife依赖注入框架源码解析

  • 6-1 butterknife的引言和基本使用
  • 6-2 butterknife原理必备知识点1:注解
  • 6-3 butterknife原理必备知识点2:APT工作原理
  • 6-4 butterknife原理必备知识点3:反射+运行时注解举例
  • 6-5 butterknife原理分析-1:注解处理器如何处理注解和保存注解
  • 6-6 butterknife原理分析-2:如何生成findviewByID代码

第7章 blockcanary UI卡顿优化框架源码解析

  • 7-1 blockcanary背景/UI卡顿原理/UI卡顿常见原因
  • 7-2 blockcanary使用/阀值参数
  • 7-3 blockcanary核心原理实现和流程图简述
  • 7-4 blockcanary源码解析-1:框架初始化
  • 7-5 blockcanary源码解析-2:stacksampler/cpusampler/start方法
  • 7-6 blockcanary面试一:anr场景/原因/解决
  • 7-7 blockcanary面试二:watchdog-anr 如何检测anr
  • 7-8 blockcanary面试三:new Thread开启线程的4点弊端
  • 7-9 blockcanary面试四:线程间通信:子线程--UI线程
  • 7-10 blockcanary面试五:主线程--子线程(handlerThread-IntentService)
  • 7-11 blockcanary面试六:多进程的4点好处与问题/voliate关键字
  • 7-12 blockcanary面试七:voliate关键字和单例的写法

第8章 eventbus异步框架源码解析

  • 8-1 eventbus框架核心概念:事件传递/EventBus的优点/传统handler通信的两种方式
  • 8-2 eventbus框架基本用法
  • 8-3 eventbus框架源码解析-1:EventBus对象构建/如何进行线程调度
  • 8-4 eventbus框架源码解析-2 subscribe注解/threadMode
  • 8-5 eventbus框架源码解析-3:register订阅(上)
  • 8-6 eventbus框架源码解析-4:register订阅(中)
  • 8-7 eventbus框架源码解析-5:register订阅(下)
  • 8-8 eventbus框架源码解析-6:subscribe方法完成订阅(上)
  • 8-9 eventbus框架源码解析-7:subscribe方法完成订阅(下)
  • 8-10 eventbus框架源码解析-8:发送事件post

第9章 dagger2依赖注入框架源码解析

  • 9-1 dagger2引言:依赖注入和使用场景
  • 9-2 dagger2四种注入方式和依赖注入总结
  • 9-3 dagger2的四种基本注解:@inject注解
  • 9-4 dagger2的四种基本注解:@component注解
  • 9-5 dagger2的inject和component注解实例和源码分析
  • 9-6 dagger2的@Module和@Provides注解
  • 9-7 dagger2的@Module和@Provides注解实例和代码分析

第10章 rxjava异步框架源码解析

  • 10-1 rxjava基本用法和观察者模式:01-传统观察者模式
  • 10-2 rxjava观察者模式和基本用法
  • 10-3 rxjava如何创建Observable&observer/subscriber
  • 10-4 rxjava如何创建subscriber以及如何完成订阅
  • 10-5 rxjava操作符之map基本使用
  • 10-6 rxjava操作符之map源码探究:lift
  • 10-7 rxjava操作符之flatmap
  • 10-8 rxjava线程控制:多线程编程准则&Rxjava如何处理多线程&&Schedulers
  • 10-9 rxjava线程控制:两个小例子&observeOn和SubscribeOn
  • 10-10 rxjava线程控制:SubscribeOn源码剖析
  • 10-11 rxjava线程控制:ObserveOn源码剖析&&subscribeOn可以调用几次

第11章 picasso图片框架源码解析

  • 11-1 picasso框架基本使用API
  • 11-2 picasso源码with方法:内存缓存Lrucache和线程池的调度
  • 11-3 piacsso源码with:dispatcher如何完成线程切换
  • 11-4 picasso源码with:NetworkRequestHandler处理图片请求和回调
  • 11-5 picasso源码load方法
  • 11-6 picasso源码into方法:Action&BitmapHunter
  • 11-7 picasso源码into方法:线程池&PicassoFutureTask
  • 11-8 picasso源码into:线程开启如何执行图片加载请求?
  • 11-9 picasso源码into:Okhttp和UrlConnectionDownloader下载图片
  • 11-10 picasso源码into方法:完成加载

第12章 课程总结

  • 12-1 Android面试技巧梳理

下载地址:百度网盘下载

原文地址:http://blog.51cto.com/13759609/2118686

时间: 2024-09-28 23:31:26

BAT大牛 带你深度剖析Android 10大开源框架的相关文章

值得我们深度学习的十大开源框架

本周早些时候 Google 开源了 TensorFlow(GitHub),此举在深度学习领域影响巨大,因为 Google 在人工智能领域的研发成绩斐然,有着雄厚的人才储备,而且 Google 自己的 Gmail 和搜索引擎都在使用自行研发的深度学习工具. 无疑,来自 Google 军火库的 TensorFlow 必然是开源深度学习软件中的明星产品,登陆 GitHub 当天就成为最受关注的项目,当周获得评星数就轻松超过 1 万个. 对于希望在应用中整合深度学习功能的开发者来说,GitHub 上其实

Android 10大开源常用框架源码解析 系列 (二)网络框架之一 OkHttp杂题

1.Android基础网络编程:socket.HttpClient.HttpURLConnection     1.1 Socket 定义 是一个对TCP/IP协议进行封装的编程调用接口,本身不是一种协议是接口Api!!     成堆出现,一对套接字:包括ip地址和端口号   基于应用层和传输层抽象出来的一个层.App可以通过该层发送.接收数据,并通过Socket将App添加到网络当中 简单来说就是应用与外部通信的端口,提供了两端数据的传输的通道     1.2 Socket通信模型 基于TCP

程序开发者的10大开源网站

http://search.csdn.net/CSDN搜索,CSDN还是有非常多的编程资源的,用它的搜索能搜出不少东西.代码类别也比较全面. http://snippets.org/简单实用的代码收集网站,强力推荐.比如你要找个DES加密,要找个数据压缩,找个INI文件操作的C代码等,均能手到擒来. http://www.codase.com/index.html它是一个代码搜索引擎,特别是搜索c/c++的开源代码,可以通过函数名.类名等搜索,很酷噢 http://sourceforge.net

BAT大牛亲授技能 技巧 Android面试快速充电升级

第1章 课程介绍(本课程专为初中级同学面试复习)本课程专为初中级程度同学面试准备的系统复习指南,本章带你了解面试过程中会遇到的问题,个人应该摆正的心态,以及面试官最为看重你的解决问题的思路.关于框架面试专题课程请移步到:http://coding.imooc.com/class/157.html1-1 课程介绍 第2章 Android开发岗位技术要求和面试前的准备本章对各个级别Android开发工程师的招聘需求进行深入分析,并带大家清晰完整的了解面试复习与准备思路,做到有的放矢,有侧重点的进行复

Android酷炫开源框架

Android酷炫实用的开源框架 1.Side-Menu.Android 分类侧滑菜单,Yalantis 出品. 项目地址:https://github.com/Yalantis/Side-Menu.Android 2.Context-Menu.Android 可以方便快速集成漂亮带有动画效果的上下文菜单,Yalantis出品. 项目地址:https://github.com/Yalantis/Context-Menu.Android 3.Pull-to-Refresh.Rentals-Andr

宣讲会|酷客多带您深度剖析小程序价值

微信小程序的黄金时代要来了,越来越多的传统企业,渴望通过微信小程序打造出属于自己的o2o商城体系,从而可以获得更多的用户,并且降低获客成本.这次为了帮助大家能够更好地阐释微信小程序一系列热点问题. 有幸身处微信小程序时代,那么小程序是什么?它有着什么样的功能?小程序给企业带来什么价值?如何通过小程序带来新流量?通过小程序如何留住用户呢? 为了多元化解答这些问题,2017年4月6日,由黑马会上海分会&鸥黎科技&闪酷酷客多,共同推出"微信小程序"活动,专门邀请了酷客多创始人

Android编程入门--开源框架OKHttp

官网地址:http://square.github.io/okhttp/ github地址:square/okhttp 参考博客:Android okHttp网络请求之Get/Post请求 参考博客:Android okHttp网络请求之文件上传下载 session相关博客:利用okhttp框架实现包含验证码的用户登录,保持session操作 cookie相关博客:OkHttp3的基本用法 创建一个工具类 OkHttpManager 初始化方法 /** * OkHttpManager */ pu

Android蓝牙开发开源框架 代码案例

这篇文章我早早就想写了,一直忘记了.之前一开始开发Android就搞蓝牙开发,好头大!研究了半个月才能搞定.现在自己整理出了蓝牙开发框架,这框架比较简单,不过希望能帮助蓝牙开发的朋友们.当然个人技术很菜,不足之处请指导. 蓝牙开步骤: 1.了解,蓝牙API共有五个类,其中需要撑握三个类: BluetoothAdapter(蓝牙适配器):该类主要获取蓝牙信息,比较打开蓝牙.获取本机mac地址.配对的蓝牙信息.等等; BluetoothDevice(蓝牙设备):如果连接非安卓设备,该类主要是初始服务

Android 优秀的开源框架整理

第一部分:系统架构 thinkAndroid https://github.com/white-cat/ThinkAndroid ThinkAndroid是一个免费的开源的.简易的.遵循Apache2开源协议发布的Android开发框架. xUtils https://github.com/wyouflf/xUtils xUtils 包含了很多实用的android工具.支持大文件上传,更全面的http请求协议支持. Afinal https://github.com/yangfuhai/afin