Android 中对任务设置超时
来源:互联网 发布:java 线程间共享变量 编辑:程序博客网 时间:2024/05/16 11:00
最近项目上有个需求,就是感觉在网络不好的情况下上传图片的时间太长,想对这个操作进行一个时间的限制!找了很近没有发现有特别简单的方法,最后发现了两个以前没有用过的东西:callable和future;
关于callable和future的使用方法这里就不做很详细的介绍了,网上很多,我这里主要想把自己的思路写下来,一来做个记录,二来给大家一个启示!
FutureTask<String> upImageFuture = new FutureTask<String>(new Callable<String>() {@Overridepublic String call() throws Exception {// TODO Auto-generated method stubreturn uploadPicture(new File(imagePath));}});executor.execute(<span style="font-family: Arial, Helvetica, sans-serif;">upImageFuture</span><span style="font-family: Arial, Helvetica, sans-serif;">);</span>
获取上传的结果:
<span style="font-size:18px;">try { </span><span style="font-size:14px;">if(null!= <span style="font-family: Arial, Helvetica, sans-serif;">upImageFuture</span><span style="font-family: Arial, Helvetica, sans-serif;">){</span>String shengqinbiaoUrl = <span style="font-family: Arial, Helvetica, sans-serif;">upImageFuture</span><span style="font-family: Arial, Helvetica, sans-serif;">.get(2*60, TimeUnit.SECONDS); //设置超时执行时间</span>taskDomain.setShenqinspath(shengqinbiaoUrl);} } catch (InterruptedException e) { <span style="font-family: Arial, Helvetica, sans-serif;">upImageFuture</span><span style="font-family: Arial, Helvetica, sans-serif;">.cancel(true); </span>} catch (ExecutionException e) { <span style="font-family: Arial, Helvetica, sans-serif;">upImageFuture</span>.cancel(true); } catch (TimeoutException e) { <span style="font-family: Arial, Helvetica, sans-serif;">upImageFuture</span>.cancel(true); } finally { // executor.shutdown(); }</span>
也许这样的使用方式不并是很合适的,但是我没有找到一种可以在执行该方法后多久进行查看执行进度的一种方式,如果各位有谁知道可以说来听听,大家一起讨论下!
0 0
- Android 中对任务设置超时
- C# 中通过CancellationTokenSource实现对超时任务的取消
- C# 中通过CancellationTokenSource实现对超时任务的取消
- android 异步任务 设置 超时,使用handler更新通知
- Android中HttpGet和HttpPost设置超时
- Android studio中设置adb超时时间
- android httpclient 设置超时
- android httpclient 设置超时
- android httpclient 设置超时
- .Net 4.5中通过CancellationTokenSource实现对超时任务的取消
- Android在Http连接中设置超时和代理
- Android在Http连接中设置超时和代理
- Android在Http连接中设置超时和代理?
- Android在Http连接中设置超时和代理?
- jenkins设置任务超时 超过限定时间停止任务
- MFC中设置socket超时
- .net中超时时间设置
- 关于HttpClient中超时设置
- SaaS、PaaS和IaaS的区别
- HDU 1175 连连看 BFS
- iOS自适应行高
- ubuntu14.04 编译 vlc-android
- MD5算法加密~16位、32位、64位
- Android 中对任务设置超时
- android KitKat Translucent 4.4版本支持消息栏半透明
- AES ECB加密实现(java/php/python)
- 网格部件中,根据某一个列的条件设置整行是否可编辑的参考示例
- LeetCode(144) Binary Tree Preorder Traversal解题报告
- java Swing JFileChooser 的使用
- Android自定义控件使用到XML的时候报错no such method
- 银联IC卡卡片规范-AID应用标识符
- 插入排序之希尔排序