1.在android 中 HTTP请求被不允许在主线程中执行,否则会抛出异常。如果请求时间过长,阻塞UI线程是一个非常差的体验
之前,刚开始开发遇到这个问题,每次app运行到最后,发送网络请求就自己崩溃了,退出。
这不是最要命的,最要命的是,当初自己调试都是真机调试,每次出问题了,就不确定是哪里出问题了,后来在svd上面跑了才发现问题所在,查资料后才发现主线程不允许进行网络请求。
2.支线程 吐司
在主线程里面我们可以之间调用toast,但是支线程里面直接调用会抛异常,这个时候我们要对其进行一个小小的处理即可。
如下:
Looper.prepare();
Toast.makeText(getApplicationContext(), R.string.finish_flag, Toast.LENGTH_LONG).show();
Looper.loop();