android 连接upd服务器,界面卡顿

 handler.post(new Runnable() {
                        @Override
                        public void run() {
                            UDPProxy.connect();
                        }
                    });
                    

其中,connect()为native方法,调用公司编译好的so库文件

阅读 3.1k
2 个回答

因为post runnable并不是另起线程,这段代码是会阻塞主线程的,所以卡顿,甚至会ANR,请挪走。

你在UI线程中进行了网络操作,会因为网络延迟造成界面无法响应。Android是不允许在UI线程进行网络操作的,但是你这个网络库是通过Native写的,所以无法被Android识别到。你应该把网络请求移到其他线程中去。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题