安卓的微信、QQ 速度为什么打开非常快? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zhgg0
V2EX    Android

安卓的微信、QQ 速度为什么打开非常快?

  •  
  •   zhgg0 2016-03-29 17:40:27 +08:00 15538 次点击
    这是一个创建于 3561 天前的主题,其中的信息可能已经有所发展或是发生改变。

    微信第一打开速度有点慢,这个速度是正常的。 然后按返回键,退回到手机主界面,然后再打开速度非常快, QQ 也是。 普通 APP 按返回键,退到手机主界面,再点 APP 图标打开的速度要 1 到 2 秒,跟微信 QQ 没得比。

    普通 APP 如果是按 home 键,退到手机主界面,再点图标开的话,也非常快。 难道微信和 QQ 按返回键退出的时候,他们拦截了返回,实际是 HOME ? 从某个 APP 跳到微信,按返回还能跳回原 APP ,所有这种方法是错的

    按返回键理论上会把当前 activity 销毁掉,微信 QQ 按返回时没销毁?

    23 条回复    2016-03-31 19:23:42 +08:00
    wjfz
        1
    wjfz  
       2016-03-29 17:46:42 +08:00
    这俩 APP 返回键确实没有“彻底”退出。
    微信的彻底退出在设置里, QQ 压根木有彻底退出。
    SpicyCat
        2
    SpicyCat  
       2016-03-29 17:51:07 +08:00
    都在后台进程里面,除非你主动杀掉。
    wlsnx
        3
    wlsnx  
       2016-03-29 18:01:43 +08:00
    因为后台有进程
    qiyuey
        4
    qiyuey  
       2016-03-29 18:10:44 +08:00
    @wjfz 我想楼主问的可能是 activity 肯定已经被销毁掉了, service 和其它的可能还在,但是单纯从 activity 的加载速度来说,微信、 QQ 还是更胜一筹的原因是什么?
    kslr
        5
    kslr  
       2016-03-29 18:14:07 +08:00
    @qiyuey 注意进入的动画了吗
    neoblackcap
        6
    neoblackcap  
       2016-03-29 22:21:21 +08:00
    会不会是一张截图?
    gdtv
        7
    gdtv  
       2016-03-29 22:26:53 +08:00
    @kslr 按返回键“退出” QQ 后,再点击 QQ ,没有任何动画,立即就恢复原先的 QQ 界面。
    img src="https://cdn.v2ex.com/avatar/3d89/ba6a/72488_normal.png?m=1446530026" class="avatar" border="0" align="default" alt="thinkloki" data-uid="72488" />
        8
    thinkloki  
       2016-03-29 22:33:32 +08:00
    @wlsnx 卡尔王
    alex321
        9
    alex321  
       2016-03-29 22:39:14 +08:00
    Mac OS 的待机恢复就是把待机前的屏幕截图,然后把这张图作为恢复的启动界面。
    所以。。哎,要说用户体验么,我也承认。。
    kirisetsz
        10
    kirisetsz  
       2016-03-29 22:47:04 +08:00   2
    还记得这些 App 请求了一个「 Draw over other app 」么,没错,聪明的你一定知道是怎么回事了……
    wlsnx
        11
    wlsnx  
       2016-03-29 22:49:43 +08:00
    @thinkloki 乞求者
    eastflying
        12
    eastflying  
       2016-03-29 22:50:43 +08:00
    默认情况下,按 back 键时,会调用 Activity 的 finish()方法, Activity 被销毁,下次打开时需要完整执行一遍 Activity 的创建流程,但是如果将 back 事件拦截,执行 moveTaskToBack ()方法,则会将包含该 Activity 的 Task 全部移入 Activity Task 的后台,下次打开时不需要再执行 onCreate()方法。
    eastflying
        13
    eastflying  
       2016-03-29 22:53:28 +08:00
    zhgg0
        14
    zhgg0  
    OP
       2016-03-29 22:58:13 +08:00
    @qiyuey 我想问的就是这个
    morethansean
        15
    morethansean  
       2016-03-29 23:13:01 +08:00
    @zhgg0 并没有被销毁好吗?running services 里那进程那么多内存, 真正销毁之后 running services 里没有占用那么多内存的微信进程,只有个占用内存比较小的 service, 而且这个时候重新打开微信会有 loading 界面的
    heiyutian
        16
    heiyutian  
       2016-03-29 23:15:46 +08:00 via iPhone
    国产流氓真正的退出还得靠冻结,你冻结了再次打开看看快不快
    zhgg0
        17
    zhgg0  
    OP
       2016-03-30 09:24:45 +08:00
    @morethansean activity 打开速度跟 service 有没有销毁关系不大吧,我想表达的是 @qiyuey 说的。
    zhgg0
        18
    zhgg0  
    OP
       2016-03-30 09:25:29 +08:00
    @eastflying 这个方法可行
    morethansean
        19
    morethansean  
       2016-03-30 09:43:22 +08:00
    @zhgg0 我的意思是, activity 根本没有被销毁。
    honeycomb
        20
    honeycomb  
       2016-03-30 10:56:23 +08:00
    @zhgg0

    除了 @eastflying 提到的 Activity 销毁的问题外,可能还涉及包含这个 Activity 进程有没有被杀掉。
    如果没被杀,重建 Activity 的速度应该比进程被杀掉的情况更快
    eastflying
        21
    eastflying  
       2016-03-30 18:16:46 +08:00
    @honeycomb LZ 描述的是在程序界面按 Back 键后返回桌面时的情况,而按 Back 键是不会导致进程被结束的,因此你所说的假设并不成立,请参考:
    http://developer.android.com/reference/android/app/Activity.html#ProcessLifecycle
    http://android-developers.blogspot.jp/2010/04/multitasking-android-way.html
    honeycomb
        22
    honeycomb  
       2016-03-30 19:46:25 +08:00
    @eastflying

    在程序界面按 Back 键后返回桌面,进程不销毁, Activity 会被销毁(如果没有劫持 back 事件),而这样再次回到这个 Activity 就会多出重建这个 Activity 的时间,相比于直接按 home 键(或者是多任务切换键)把 Activity 压栈再返回更慢(需要注意的是, iPhone 没有硬件返回键,因此它更容易出现类似这种情况的多任务切换)。最慢的是杀掉进程,再尝试返回这个 Activity 。

    所以我说的不是假设,是事实(话说回来估计我语文学得不够好没说清楚)。
    Aquamarine
        23
    Aquamarine  
       2016-03-31 19:23:42 +08:00
    @wjfz QQ 轻聊版有
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5660 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 40ms UTC 06:31 PVG 14:31 LAX 22:31 JFK 01:31
    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