HUWEⅠ一TDM6RR为啥一直断网了怎么办

因为之前参与的网络开发项目都遇到一些相同的问题:
1.大量的并发请求造成堵塞特别是遇上让人无语的3G网络,无限loading。
2.一般来说一个网络请求都会用使用到一个异步線程,大量的线程创建、运行、销毁又造成了系统资源的浪费
3.请求结束得到结果后如果需要更新UI,一个不小心忘了返回UI线程各种崩溃。。

前些日子跟同事商量能不能做个请求队列去进行控制于是趁着热度没消退说干就干,建了个模型以备日后使用。

在这个模型中有高中低三个优先级信道如下:高优先级–1,中优先级–3低优先级–2
1.正常情况下各个优先级使用各自信道(线程)
2.高级信道满载、中、低级信道空置,则高级请求可使用低级信道

UI线程将期望的网络请求url和参数通过一个封装好的Runnable提交给Service处理(当然也可以交给一个Thread处理本唎使用Service),Service接收到请求判断优先级,加入到相应线程池中排队线程池启动线程发起网络请求,最后通过监听器将结果返回给ServiceService发送广播通知UI线程,UI线程更新相关界面结束。

//TODO:进行网络请求相关操作并通过listener返回结果 //序列化,为了传递给Service如果是使用Thread处理本例,则无需序列化 // 可重用固定线程数的线程池 //接受到来自UI线程的请求 //取出Runnable并加入到相应队列 //如果高级池满而低级池未满交由低级池处理 //如果高级池满洏普通池未满交由普通池处理 //如果高级池未满则交给高级池处理,否则交由高级池排队等候 //如果普通池满而低级池未满交由低级池处理 //洳果普通池未满则交给普通池处理,否则交由普通池排队等候 // 发送 一个无序广播

可能很多同学都看过这么文章,不过由于没有源码可能還是云里雾里由于我也是个小菜鸟的关系就本着学习的心态对照原博客,可新浪微博发送微博的效果自己实现了队列请求的效果便记錄下来,以便日后拿来用也将源码分享给大家

此源码是as工程,不会在eclipse导入as工程的同学可以new eclipse工程拷一下代码和布局文件。。

我要回帖

更多关于 老是断网 的文章

 

随机推荐