新手,android客户端与java服务端Socket通信有关问题

新手求助,android客户端与java服务端Socket通信问题。
          我的android客户端通过的服务器的验证,若只是单纯的验证登陆能通过,但当登陆后并跳转到下个activitiy时出现WARN/ActivityManager(59):   Launch   timeout   has   expired,   giving   up   wake   lock!
WARN/ActivityManager(59):   Activity   idle   timeout   for   HistoryRecord   警告错误。我在第二个activitiy所在的操作是用Intent接收从登陆界面发送来的用户ID,并向服务器查询用户的相关信息显示在第二个activitiy上。我是通过用hashMap保存登陆时的socket并用对象流发送出用户数据的,hashmap被我设为static了。

        整个程序运行期间不管是客户端还是服务器都没有报出异常。我想请问大家,如何能解决这个问题,或者说换个思路实现同样的效果。就是能让客户端全程保持与服务端的通信,在各个activitiy中切换都都能到服务器查询数据返回并显示在相应的activitiy上。
        小弟我是自学的java和android,有些东西可能接触的不多,希望能解释稍微清晰些。谢谢!
       


------解决方案--------------------
你把通讯部份的代码放到Thread执行,就不会影响Activity了。

主要的原因应该是你在Activity的主线程与服务器进行了通讯,而这个通讯如果超过10秒了,Activity无响应就会出现你发的那些警告。
------解决方案--------------------
手机端分主线程(一般是UI现场)和子线程,如果你在主线程做大量长时间阻塞操作,就会这样的结果。