android Activity切换8次固定发送socket中断

weixin_38582510 2019-02-08 11:50:47
开发一个Android访问sqlserver服务器的app,服务器端用java写服务器端。
android端与服务器端通过socket连接
android socket放在application里面。
各个Activity启动时到application里面读取socket。
在一个activity里面,socket收发数据无论多少次都是正常的。
但同一activiy退出,再进入,重复操作8次以后,再次进入activity就socket连接中断了,这个8次是固定的。
不同activity之间切换8次,也是一样中断。
中断时,android端没有显示异常,java服务器端提示异常,readline读不到数据。
每个activiy启动时开启两个子线程,一个socketReadThread用循环读取数据,退出activity时关闭线程。一个socketWriteThread,用handler发送数据,这个退出时没有关闭。,,
大神帮我看看可能是什么情况。等于是activity之间切换不过8次都是正常的,到了第8次就必定发生中断。
中断的那一次activity启动时,两个子线程看着都是正常启动的,向服务器的发送的数据也是有发出,但是java服务器接收就出错了,但app没有心跳机制(若要问为什么没有,因为不会写啊),可能socket在启动前就已经中断,只是socket还不知道。
Android菜鸟级写手,以前业余写VB6.0的,不是职业程序员,现在硬着头皮写android,一边百度一边写,这个问题卡很久了,求高人们指点一下方向。
...全文
733 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
蚊子点水 2019-02-18
  • 打赏
  • 举报
回复
你怎么知道socket断了。是抛异常了吗。
亲爱的Joe 2019-02-18
  • 打赏
  • 举报
回复
判断不出来问题。
猜测:
服务器提示readline读取不到信息并抛出异常,因此把问题范围缩小到你的app。
activity启动第八次必然断开socket,那就打印下你的activity声明周期。

重点打印:onCreate,onResume,onPause,onStop和onDestroy
这些方法都要。
内容包括,当前activity的哈希值(activity主线程直接打印this),打印socket的哈希值,如果socket不为空,再打印下socket的状态
王能 2019-02-14
  • 打赏
  • 举报
回复
贴Activity的代码
weixin_38582510 2019-02-08
  • 打赏
  • 举报
回复
求高人指点迷津啊

80,349

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧