解决方案 »

  1.   

    是不是一个httpclient只能建立一个TCP连接,但是我这个单例模式用在其它网站上都不会出现这种情况
      

  2.   

    HttpClient 这个使用过一次,你停止Timer,但网络操作不一定能立刻停止,所以你感觉到有延迟的情况。HttpClient 这个建议不要用单例,尤其是多线程的情况下,
      

  3.   

    可是一个应用确实一个httpclient就足够了得,况且httpclient是支持多线程的,我在想是不是因为同步的问题,造成了阻塞
      

  4.   

    看了android SDK源代码  发现  在Timer中它自己是生成了一个Thread,然后所有的操作都在这个线程中执行的,但是在最后断开的时候,我用主线程发了一个"0"标记到服务器,(调用的方法都是一样的)。然后,我马上(注意是立即重启,因为这个时候,线程还没有被回收)再用Timer重新发数据就回阻塞,这个问题,我又仔细探讨了一下,发现Timer执行中每次也会生成一个线程来进行Http请求,但是并没有阻塞这种现象,程序都是正常运行的。但是当我设置HttpClient不支持多线程安全机制的时候,程序就没有阻塞这种现象,可知,就是多线程导致的但是Timer中为什么不会导致阻塞,而且我Timer的间隔时间比我重启连接那段时间,还要短,我还会继续研究的