android 中网络加载,更新 UI,大家一般怎么使用线程,代码才不会丑

2015 年 1 月 29 日
 Registering

项目用了太多的handler+Thread,或者AsyncTask,,最后感觉代码好丑,,,,,

3470 次点击
所在节点    程序员
18 条回复
scutmason
2015 年 1 月 29 日
HandlerThread 不行吗
Registering
2015 年 1 月 29 日
有人用封装过的开源线程库呢
Registering
2015 年 1 月 29 日
@Registering 呢---吗
MuhammadWang
2015 年 1 月 29 日
一般都是HandlerThread, 然后post Message.
AsyncTask还是避免吧,代码看起来比较乱,而且有并发上限.
hjc4869
2015 年 1 月 29 日
搞WP开发写C#各种优雅地await的默默地看着你们。。
dhymark
2015 年 1 月 29 日
https://github.com/Trinea/android-open-project#%E4%B8%89%E7%BD%91%E7%BB%9C%E7%9B%B8%E5%85%B3
查找网络相关和Android公共库,自己选个合适的用吧
allan1st
2015 年 1 月 29 日
为什么不用 IntentService?
bkmi
2015 年 1 月 29 日
你倒是封装一下啊
finian
2015 年 1 月 29 日
@hjc4869 异步回调确实是反人类的并发模型T__T
finian
2015 年 1 月 29 日
要想异步代码不会丑,RxJava 大法来解救。。。
MuhammadWang
2015 年 1 月 29 日
@finian 简单的异步回调还好,怕的是需要流控的逻辑
miao1007
2015 年 1 月 29 日
自己封装AsyncTask,然后加上回调,这样写太麻烦了......我欣赏的是Square公司的Picasso与Retrofit这两个异步回调,简直美爆了
faywanghq
2015 年 1 月 30 日
RxJava
pubby
2015 年 1 月 30 日
@MuhammadWang +1 根据每步回调结果产生更多异步分支的,简直崩溃 -_-

大家不用Volley吗?起码比AsyncTask好一点
Registering
2015 年 1 月 30 日
@pubby 貌似记得volley的那两个回调方法是已经处理过异步了?

用过写小例子,,,但是官方给出的版本有所欠缺,很多功能要自己加进去,,比如上传文件之类
pubby
2015 年 1 月 30 日
@Registering 请求在异步队列中完成的,回调的时候应该是回到UI线程了
fashioncj
2015 年 1 月 30 日
当时我自己想了好久的封装~默默围观大神指点~
Registering
2015 年 2 月 1 日
@pubby 亲测,不行,,,,还是得开个thread执行volley请求,请求返回后,在volley的回调函数里还是要发送message到handler里去处理,

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/166550

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX