首页
›
移动端与Android应用开发
›
058-应用启动崩溃复现与优化
›
《OkHttp拦截器启动崩溃复现与解决实战案例》
VIP20
本课程属于:058-应用启动崩溃复现与优化
移动端与Android应用开发 · 共 20 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
OkHttp拦截器启动崩溃复现与解决实战案例
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
OkHttp简介与基本使用
OkHttp发展史 · 应用场景 · 集成方式
OkHttp
简介
02
OkHttp的请求流程与核心组件
Dispatchers · Interceptors · Call
OkHttp
的请求流程
03
拦截器的作用与分类
Application Interc… · Network Intercepto… · 添加顺序
拦截器的作用
分类
04
自定义拦截器的基本实现
实现Interceptor接口 · chain.proceed() · 常见用途
自定义拦截器的基…
Interceptor
05
拦截器链的调用机制
Interceptor.Chain工… · 责任链模式 · proceed()流程
拦截器链的调用机…
Interceptor.…
06
OkHttp的启动过程与初始化
OkHttpClient.Build… · 默认配置 · 线程池
OkHttp
的启动过程
07
Crash场景一
NullPointerExcepti…
Crash
场景一
08
复现NPE
编写测试用例 · 触发NullPointerExcep… · 观察崩溃日志
NPE
复现
09
解决NPE
添加空值检查 · 使用默认Response · 防御性编程
NPE
解决
10
Crash场景二
IOException in Int…
Crash
场景二
11
复现IOException
模拟网络超时 · 超时配置 · 触发SocketTimeoutExc…
IOException
复现
12
解决IOException
try-catch封装 · 重试机制 · 设置超时参数
IOException
解决
13
Crash场景三
Uncaught Exception…
Crash
场景三
14
复现未捕获异常
在intercept()中直接抛异常 · 查看崩溃栈
复现未捕获异常
intercept
15
解决未捕获异常
使用SafeInterceptor封… · 全局异常处理器 · 自定义UncaughtExcepti…
解决未捕获异常
SafeIntercep…
16
Crash场景四
ClassCastException…
Crash
场景四
17
复现类型转换
错误解析JSON · Stream转String方式不当 · 触发ClassCastExcepti…
复现类型转换
JSON
18
解决类型转换
正确使用ResponseBody · string()/bytes()/c…
解决类型转换
ResponseBody
19
Crash场景五
Deadlock in Interc…
Crash
场景五
20
复现死锁
在拦截器中同步调用 · 多个拦截器互相等待 · 主线程阻塞
复现死锁
拦截器
21
解决死锁
使用异步方式 · 锁超时机制 · 避免阻塞主线程
解决死锁
使用异步方式
22
Retrofit与OkHttp结合时的崩溃
Retrofit自定义拦截器 · Converter异常传递
Retrofit
OkHttp
23
Crash场景六
OkHttpClient重用导致配置…
Crash
场景六
24
解决OkHttpClient重复创建问题
使用单例 · Builder复制 · newBuilder()方法
OkHttpClient
解决
25
调试拦截器
日志打印 · 断点分析 · 使用Charles/Wireshar…
调试拦截器
日志打印
26
单元测试拦截器
用MockWebServer模拟崩溃… · JUnit测试用例编写
单元测试拦截器
MockWebServe…
27
实战案例
从线上崩溃日志定位问题——解析sta… · 复现 · 修复流程
实战案例
sta
28
最佳实践
设计健壮的拦截器——幂等性 · 重试 · 熔断
最佳实践
设计健壮的拦截器
29
性能优化
避免拦截器导致启动变慢——懒加载 · 异步初始化 · 减少I/O
性能优化
避免拦截器导致启…
30
总结与展望
常见崩溃模式复盘 · 未来OkHttp拦截器演进方向
常见崩溃模式复盘
OkHttp
所属VIP或分类
同VIP:ANR崩溃场景复现与定位方法详解
同VIP:APK签名校验失败启动崩溃复现实战案例
同VIP:Baseline-Profile编译错误排查实践