目录
1 概述
目前连续碰到好几个关于数据恢复的问题,所以研究总结了下,这样也有助力提高问题的解决效率。
2 原理
开启一个60S的定时器去检测TCP数据包的发送与接收状态,如果数据包发出去了,但没有接收到,并且统计发送的数据包达到一个限定值后,就启动数据恢复机制。
3 类图
先通过类图了解代码的大致结构。
DCTracker.java 此类叫数据连接跟踪器,用于管理维护数据状态恢复的功能。其继承了DCTrackerBase.java。
DCTrackerBase.java 数据恢复的功能在此实现。
DataConnection.java 数据重拨功能,由状态机实现,因状态机逻辑强,不在本文展开分析。相关学习可参考《深入理解 Android Telephony原理剖析与最佳实践.pdf》
DcController.java 控制重拨功能