-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Description
1、切网后,Android UI线程卡死。但过一段时间又可以恢复。
问题分析:切网过程中,会先后执行释放资源,以及重建资源的工作,如果两个工作间隔时间太短(10ms级),可能出现线程互锁卡死的问题。
解决思路:将释放资源和重建资源的工作移到workerThread,但需要保证workerThread之间的线程同步问题。另外,需要切网断开false和连接true相隔的时间太短,需要将true线程触发时机放在false线程执行完毕之后。
2、切网后,Mqtt重启失败
问题分析:一是可能开启两次mq,导致失败,二是可能抛出MqttException导致。
解决思路:暂时没有特别好的思路,可以尝试用AlarmManager的RTC定时器来定时检查连接的有效性,然后激活连接。最好还是尝试换一套开源程序试试(比如Paho)。
3、多次切到内网后,小循环指令发送没有反馈。在切到外网,大循环发送依然没有反馈(有的时候是大循环挂了,小循环依旧没问题)。
问题分析:可能是每次切到内网,都会和WiFi模块建立连接。但是再次切网的时候,TCP属于异常断开,WiFi模块端的连接没有释放,导致WiFi模块的连接数过多,阻塞了sockA,和sockB。
解决思路:模块的长连接回收时间缩短,设成10s无交互就回收。然后App需要不断发送心跳保活。
4、切到内网后,本来应该走小循环,但是还是大循环。
有可能是模块本身已经很难连接上了
5、切网后,Volley访问被重定向到了360免费WiFi的欢迎页,而且多次请求结果相同。
蛋疼。。。
解决思路:判断如果是HTML,释放掉缓存,重新请求一次。应该会重写Volley的重试类
Others、内网状态一直处于CONNECTING状态
出现过一次,需要整理一下逻辑
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels