B 站 Android 端放后台会持续占用 CPU - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
工单节点使用指南
请用平和的语言准确描述你所遇到的问题
厂商的技术支持和你一样也是有喜怒哀乐的普通人类,尊重是相互的
如果是关于 V2EX 本身的问题反馈,请使用 反馈 节点
bluesky139
V2EX    全球工单系统

B 站 Android 端放后台会持续占用 CPU

  •  
  •   bluesky139 2019-03-07 09:21:21 +08:00 4450 次点击
    这是一个创建于 2412 天前的主题,其中的信息可能已经有所发展或是发生改变。
    如图,在用一段时间的客户端后放后台(并不是放后台继续播放,就是不用了正常按 Home 键出去),使用 top 命令查看,始终有 10% 左右的 CPU 占用,会一直持续下去。

    现在的系统是 AOSP 8.1.

    22 条回复    2019-03-10 15:50:32 +08:00
    hongch
        1
    hongch  
       2019-03-07 09:24:48 +08:00
    因为有 service 这种东西的存在
    deadEgg
        2
    deadEgg  
       2019-03-07 09:36:28 +08:00
    而且最近总是把系统搞崩。。
    tanranran
        3
    tanranran  
       2019-03-07 10:25:24 +08:00
    卧槽,楼主这个资源查看是什么啊,跪求分享。
    hei1000
        4
    hei1000  
       2019-03-07 10:34:47 +08:00
    @tanranran #3 终端里面的 top
    gz911122
        5
    gz911122  
       2019-03-07 10:44:24 +08:00
    @tanranran linux 自带的 top 命令啊
    kokutou
        6
    kokutou  
       2019-03-07 10:45:41 +08:00
    绿色守护伺候就行了。。。
    Navee
        7
    Navee  
       2019-03-07 11:02:49 +08:00
    现在安卓都能 top 看进程了= =
    honeycomb
        8
    honeycomb  
       2019-03-07 11:05:27 +08:00 via Android
    appops 伺候,把它的 run_in_background 禁用即可。
    另外,建议用 play 上的国际版,包可以到 apkpure 等地方下载
    skylancer
        9
    skylancer  
       2019-03-07 11:07:22 +08:00   1
    @Navee 我想知道哪一年不可以
    v2zhao
        10
    v2zhao  
       2019-03-07 11:08:16 +08:00
    @Navee shell 啊
    20015jjw
        11
    20015jjw  
       2019-03-07 14:01:36 +08:00 via Android
    @Navee 1.6 就行
    orangeade
        12
    orangeade  
       2019-03-07 14:02:41 +08:00
    港区下载 bilibili 国际版
    而且系统设置里把后台运行的限制打开就好了
    fox0001
        13
    fox0001  
       2019-03-07 14:06:34 +08:00 via Android
    不给后台运行就好了
    bluesky139
        14
    bluesky139  
    OP
       2019-03-07 14:38:55 +08:00
    @kokutou
    @honeycomb
    @orangeade
    @fox0001
    后台限制早就开了,没用。
    绿色守护也没用,我用的 Shadow Hibernation,我并不希望它在每次灭屏的时候被杀掉。
    国际版貌似不支持免流,也没有直播样。

    给我的感觉像是开了个线程没控制好,进入了死循环样。
    nanaw
        15
    nanaw  
       2019-03-07 14:43:21 +08:00 via Android
    @orangeade 国际版只要检测到系统语言非中文就会显示为繁体。十分恶心
    honeycomb
        16
    honeycomb  
       2019-03-07 17:47:51 +08:00 via Android
    @bluesky139
    shallow hibernation 确实没用,这东西不会杀进程,只是强迫应用进入 app standby 状态。你可能要专门为其使用普通模式+开启绿色守护的通知栏监听(但是这样只能解决后台播放时不杀)

    Android9 还有一个 run_any_in_background,会杀前台进程,所以也不适用你的情况。

    所以去 B 站的反馈群?

    play 版目前没有免流和直播,于是我放弃了这两个功能,但不会因此迁移回内地版。
    h3k5s9nx8n
        17
    h3k5s9nx8n  
       2019-03-08 13:38:32 +08:00 via Android
    分享一个我的解决办法
    没 root
    修改 AndroidManifest.xml 禁了些服务和 receiver
    服务仅保留 BackgroundMusicService IMPushService IjkMediaPlayerService KeepAliveService VideoDownloadService
    用 appops 改 run in background 为拒绝
    绿色守护添加 bilibili

    效果:
    有缓存任务时划掉后台仅后台下载服务存活,下载完成后如已熄屏会被系统杀掉,未熄屏会在熄屏时被绿色守护杀掉
    无缓存任务时划后台会直接被系统杀掉
    h3k5s9nx8n
        18
    h3k5s9nx8n  
       2019-03-08 13:40:11 +08:00 via Android
    @h3k5s9nx8n receiver 全禁
    h3k5s9nx8n
        19
    h3k5s9nx8n  
       2019-03-08 13:46:31 +08:00 via Android
    @h3k5s9nx8n 我用的 aosp9.0
    8.1 的时候需要用 appops 禁 3 个权限才能达到类似的效果 run in background wake lock 还有一个不记得了
    bluesky139
        20
    bluesky139  
    OP
       2019-03-10 12:44:54 +08:00 via Android
    @honeycomb 我就是想用 app standby 状态,然而不尽人意。反馈估计没用吧,像这种问题不直接跟开发讲别人都不知道你在说什么。
    bluesky139
        21
    bluesky139  
    OP
       2019-03-10 12:45:12 +08:00 via Android
    @h3k5s9nx8n 我用 appops 把 wake lock 禁了,然后把 service 和 receiver 几乎全禁了(有些会重新启起来),仍然没用。
    honeycomb
        22
    honeycomb  
       2019-03-10 15:50:32 +08:00 via Android
    @bluesky139 如果你就是想对 B 站的 app 用 app standby,那么就别想把它杀掉。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5467 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 34ms UTC 01:24 PVG 09:24 LAX 18:24 JFK 21:24
    Do have faith in what you're doing.
    ubao 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