• 请不要在回答技术问题时复制粘贴 AI 生成的内容
Registering
V2EX  ›  程序员

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

  •  
  •   Registering · Jan 29, 2015 · 3279 views
    This topic created in 4146 days ago, the information mentioned may be changed or developed.

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

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

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

    用过写小例子,,,但是官方给出的版本有所欠缺,很多功能要自己加进去,,比如上传文件之类
    pubby
        16
    pubby  
       Jan 30, 2015
    @Registering 请求在异步队列中完成的,回调的时候应该是回到UI线程了
    fashioncj
        17
    fashioncj  
       Jan 30, 2015
    当时我自己想了好久的封装~默默围观大神指点~
    Registering
        18
    Registering  
    OP
       Feb 1, 2015
    @pubby 亲测,不行,,,,还是得开个thread执行volley请求,请求返回后,在volley的回调函数里还是要发送message到handler里去处理,
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2821 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 46ms · UTC 13:17 · PVG 21:17 · LAX 06:17 · JFK 09:17
    ♥ Do have faith in what you're doing.