求大神!为什么我用socket连接服务器在java 程序里可以连通但在android程序里却必须新建线程才能连接?

2025-04-28 07:11:06
推荐回答(4个)
回答1:

Android 的网络操作不能再UI线程里面进行,也就是不能在Android程序的主线程运行,因为网络操作比较耗时,用户体验不好,所以只能异步操作,在主线程中叫同步操作

回答2:

楼上基本解释过了,Java的主线程不是UI线程,Android的主线程是UI线程,你在UI线程去开网络连接,通常会ANR(应用无响应)

回答3:

这个问题是由于android版本更新后造成的,以前的版本可以直接在主线程里面建Socket。

回答4:

楼主这个安卓程序的线程是写在在onCreate中吧,如果是这样的话是不行的要用Timer和TimerTask才可以,