昨晚问了一个 Rxjava 和 Retrofit 的问题,可能是因为半夜发帖,没一个人理我。刚才搞定了,把过程分享一下 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
CodingPuppy
V2EX    Android

昨晚问了一个 Rxjava 和 Retrofit 的问题,可能是因为半夜发帖,没一个人理我。刚才搞定了,把过程分享一下

  •  
  •   CodingPuppy 2016-08-14 02:18:01 +08:00 12159 次点击
    这是一个创建于 3351 天前的主题,其中的信息可能已经有所发展或是发生改变。

    问题是 Retrofit 配合 Rxjava 使用时,第一次调用网络请求,主线程耗时长达 2-3 秒,后的请求这块耗时就没了,正常了。

    昨晚的求助贴

    解决过程

    6 条回复    2016-08-15 19:11:59 +08:00
    arrow2015
        1
    arrow2015  
       2016-08-14 08:18:54 +08:00 via Android
    trace 图要怎么看?看不懂
    CodingPuppy
        2
    CodingPuppy  
    OP
       2016-08-14 09:18:10 +08:00 via Android
    @arrow2015 看各个方法的 cpu 耗时,看各个进程负载, google 下吧
    jinhan13789991
        3
    jinhan13789991  
       2016-08-15 09:55:46 +08:00
    我猜是对 Retrofit 和 api 接口还有各种需要配置的初始化占用时间
    jinhan13789991
        4
    jinhan13789991  
       2016-08-15 09:59:15 +08:00
    看了下你的文章,我觉得你在 app 启动的时候调用一个空的接口,然后就没这个问题了
    CodingPuppy
        5
    CodingPuppy  
    OP
       2016-08-15 10:11:53 +08:00
    @jinhan13789991
    怀疑是 Retrofit 把一些初始化操作放到 Observer 创建之前了。
    在 app 启动的时候调用接口,没有解决基本问题,而且把 app 启动时间延长了。
    lowworker
        6
    lowworker  
       2016-08-15 19:11:59 +08:00   1
    刚好 watch 了 retrofit ,看到楼主的 issue , retrofit 的 CallAdapter 接管的只是网络请求的进程处理,像是 converter 的初始化的确是在调用的进程进行的,所以 @artem-zinnatullin 回答里提到的 fromCallable 再 flatmap 实际上也是把调用也放到 subscribeOn 里处理了。照理说 converter 的初始化这些是不会耗时这么久的,楼主最好把完整的 trace 也贴到 issue 上看看。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3796 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 10:14 PVG 18:14 LAX 03:14 JFK 06:14
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86