Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/193.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android截击总是超时_Android_Android Volley - Fatal编程技术网

Android截击总是超时

Android截击总是超时,android,android-volley,Android,Android Volley,我想在应用程序启动时加载一些数据,这些数据将被所有活动使用。 我在应用程序的onCreate方法中这样做,因为我希望在显示任何活动之前下载这些数据,所以我尝试使用RequestFuture发出同步请求。但是,始终会抛出TimeoutException 创建时的公共无效{ super.onCreate; appRequestQueue=Volley.newRequestQueuethis; RequestFuture RequestFuture=RequestFuture.newFuture;

我想在应用程序启动时加载一些数据,这些数据将被所有活动使用。 我在应用程序的onCreate方法中这样做,因为我希望在显示任何活动之前下载这些数据,所以我尝试使用RequestFuture发出同步请求。但是,始终会抛出TimeoutException

创建时的公共无效{ super.onCreate; appRequestQueue=Volley.newRequestQueuethis; RequestFuture RequestFuture=RequestFuture.newFuture; JsonArrayRequest请求=新的JsonArrayRequest 网址, 未来,, 请求未来; appRequestQueue.addrequest; 试一试{ JSONArray JSONArray=requestFuture.get90,TimeUnit.SECONDS; //处理,永远不要到这里 Log.v*******************,应用程序已初始化; }捕获JSONException je{ }捕捉中断异常{ }捕获被执行者{ }捕获超时异常{ //总是超时 Log.v$$$$$$$$$$$$,它已超时。。。;
} 是的,根据截击的默认行为,请求响应传递的唤醒通知发布在主UI线程的处理程序上


这样,当UI线程被阻塞时,唤醒通知将永远不会被执行,而且响应将永远不会被传递,并且总是会有超时。

< P>我最近遇到了这个问题,解决方案是不从主线程UI请求或处理它们,它总是抛出一个TimeOutExtExchange。考虑创建一个异步任务和Pro。从那里重新确认这个请求

您可以使用onPostExecute回调与MainActivity通信


是否能够识别问题?是否尝试重试策略并增加默认超时值?