安卓的后台机制实在无法理解! emui10 如何关闭自启动的同时又可以自动管理后台? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
rizon
V2EX    程序员

安卓的后台机制实在无法理解! emui10 如何关闭自启动的同时又可以自动管理后台?

  •  
  •   rizon
    othorizon 2019-11-14 11:14:02 +08:00 9170 次点击
    这是一个创建于 2156 天前的主题,其中的信息可能已经有所发展或是发生改变。

    华为 的 emui10 中,

    应用的允许后台运行 可以设置为手动模式启动,这样 app 在切换到后台时锁屏后就不会被杀掉,但是带来的问题是 app 退出依然在后台运行而不是被关闭。
    如果设置为自动管理,在切换后台不会被杀掉,在退出后会被自动关闭,很完美,可问题是自动模式还包括了自启动和关联启动,这样的问题就是,有些 app 会偷偷的就自己运行起来了。。。

    所以有没有办法只自动管理后台运行而手动关闭自启动和关联启动??

    关于切换到后台被关闭应该是 emui10 的电池优化和锁屏清理导致的,可问题是 emui10 没有锁屏清理设置了。。 不知道该怎么办了


    最近苹果转华为,安卓的后台机制实在无法理解。app 不应该在切换到后台后不会被关闭,在退出后就真的退出吗?? 怎么搞这么复杂,,还有什么自启动关联启动,,混乱的一 B。。。。 费劲啊。 真心觉得安卓有些机制真的就有问题,整个系统的开放程度,对“人心”的无条件信任简直儿戏。。。
    唉,可是苹果系统越来越难用,而且安卓的有些本地化的功能实在有诱惑。。。

    29 条回复    2019-11-18 11:18:25 +08:00
    cpdyj0
        1
    cpdyj0  
       2019-11-14 11:18:37 +08:00 via Android
    Android 在设计时的确太开放了,有 Google play 还好说
    cpdyj0
        2
    cpdyj0  
       2019-11-14 11:20:15 +08:00 via Android
    不能说关闭就彻底关闭啊,如果一个 app 要访问另一个 app 的资源怎么办,如果一个 app 需要在某些时候自启处理某些事物怎么办……很多事情苹果那边是根本干不了,Android 这边就尴尬了
    WebKit
        3
    WebKit  
       2019-11-14 11:23:29 +08:00 via Android
    你把它理解为电脑上的程序,很多时候程序关闭了,但是后台服务还在运行。
    你觉得复杂其实是你没有理解这个。当然作为用户其实你不需要关心这些。现在的 Android 也不需要去手动杀后台了。
    imn1
        4
    imn1  
       2019-11-14 11:26:52 +08:00
    emui 以前有个关联启动管理的,现在没了?好久没用菊厂机
    zzNucker
        5
    zzNucker  
       2019-11-14 11:27:24 +08:00
    你没必要关心后台的。。。。 现在早就不是以前了,国产系统自启动管理还是不错的。
    z1154505909
        6
    z1154505909  
       2019-11-14 11:35:01 +08:00
    我只服悦跑圈,我只能用电池管理才能把它干掉,其他的方法对他完全无效,然后这玩意后台还贼耗电.
    rizon
        7
    rizon  
    OP
       2019-11-14 11:38:00 +08:00
    @WebKit #3
    @zzNucker #5
    所以意识是我默认开启自动管理就好了?就算某个 app 被自启动了什么的也不用太在意是吗?

    我不做安卓开发不了解,但是看到一些安卓开发的帖子里,是想尽了办法让自己不被杀掉,,唉。
    imn1
        8
    imn1  
       2019-11-14 11:39:14 +08:00
    主要的问题是,自动管理应该不是 android 原生的,是厂商增加方便懒人不用逐个 app 手设权限
    用自动管理就要理解厂商的逻辑了

    理论上 android app 只要赋予通知权限,可以关闭 /退出而调用 GMS
    但国内 GMS 不可用,所以国内大部分 app 设为关闭就转后台,自动管理一般针对这个杀掉
    rizon
        9
    rizon  
    OP
       2019-11-14 11:39:25 +08:00
    @WebKit #3
    @zzNucker #5
    我现在其实也这么想的,管也管不了,只能交给系统自己去管理了,用习惯了,不盯着看也就无所谓了。。。。。
    zzNucker
        10
    zzNucker  
       2019-11-14 12:02:42 +08:00
    @rizon 现在国产机逻辑都是你不用的过段时间就给你自己杀了,用的多了就晚点杀或者不杀。。。
    Laeoo
        11
    Laeoo  
       2019-11-14 13:26:39 +08:00   1
    这里分享一下冯大的一条微博
    https://weibo.com/1649495037/I1ajispIb
    Laeoo
        12
    Laeoo  
       2019-11-14 13:27:09 +08:00
    Laeoo
        13
    Laeoo  
       2019-11-14 13:27:37 +08:00
    @Laeoo
    关于 Android 多任务界面的划除交互,这里作一个统一答疑。(长文预警)

    Q:那应该如何杀死一个应用?
    A:应用是人类面对数字世界的可交互程序形成的一个想象实体,不同于可被生理终结的生物体,想象的实体只能被忘却。
    (正经回答:首先得明确要杀死的主体,到底是进程、上下文状态,还是背后的开发者?其次,杀只是手段,而不是真实需求,需要好好想想为什么要杀应用)

    Q:那么多任务界面掉任务在 AOSP 上到底代表什么?
    A:多任务界面掌管的是「任务」这个维度。Android 中的任务是一个类似于真实世界中任务的抽象概念,它代表的是一组有导航先后关系的界面所处的上下文,与应用的进程和可运行状态都没有必然的对应关系。这么说很抽象,下面具体拆解来看。
    首先,一个任务可以包含来自多个应用的界面(比如从淘宝跳转到支付宝),所以划掉任务到底应该杀掉支付宝还是淘宝呢?或是通杀?
    其次,一个应用可以创建多个任务,比如文档编辑器可以分别从不同的任务中被别的应用打开,各自处于不同的上下文(编辑的文档)。划掉其中一个任务就要杀死文档编辑器么?
    最后,即便应用的进程因别的原因回收了(比如内存不足),任务所包含的应用界面上下文依然保留在内存中。再次切回到该任务时,会触发 Android 的界面上下文恢复机制,只要应用正确支持了这个机制,就可以回到之前离开时的精确上下文,看起来就像是应用从未被杀死过。这个恢复机制甚至可跨越设备重启。

    Q:我就是不想要应用在后台占内存耗电,要怎么做?
    A:Android 从 8.0 开始大幅度调整了应用的后台控制策略,具体技术细节这里就不展开说了。原则上,只要适配了 Android 8+ 的应用,就不能再持续在后台占据内存。去年已经推动国内的应用市场跟进了 Google Play 的应用适配强制要求,所以这方面就不必担心了。至于耗电,这是一个需要平衡的取舍,你如果的确需要某个应用的后台机制,那就得让它略微耗一点电(不能既要马儿跑得快,又让马儿不吃草吧)。如果你压根不需要它的后台机制,或者它的后台耗电太过分了,那么你可以在应用设置中限制应用的后台能力(非原生系统可能不一定有这个选项)。总之,你并不需要「杀应用」,也没必要为这些破事儿操碎心。当然,道与魔的较量总会间歇有漏洞被利用,所以绿色守护一直在试图补位 Android 本身的破缺,等待它可以全身而退的那一天。
    iwanttofly
        14
    iwanttofly  
       2019-11-14 13:45:07 +08:00
    我现在都不管了, 就交给系统就行. 日常使用基本没问题.
    zuoyuan333
        15
    zuoyuan333  
       2019-11-14 14:28:37 +08:00
    @z1154505909 在后台播放无声音的音乐是不是这货?
    wpblank
        16
    wpblank  
       2019-11-14 14:36:03 +08:00
    我原来索尼+黑域+设置几个白名单,其实能完美符合你的要求,按后台就后台,退出就真的退出。
    aalikes95
        17
    aalikes95  
       2019-11-14 14:36:04 +08:00
    安卓就是这样子,没得办
    iVeego
        18
    iVeego  
       2019-11-14 14:46:31 +08:00 via Android
    adminsam
        19
    adminsam  
       2019-11-14 14:54:56 +08:00 via Android
    我觉得你应该是想说华为…各个厂商系统很多地方是完全不一样的,尤其后台管理机制,这个得问华为官方的人了
    daozhihun
        20
    daozhihun  
       2019-11-14 15:16:17 +08:00   1
    你说的这个只是国产 ROM 自己搞的东西,原生安卓并没有什么自启动、划掉就关闭什么的概念。
    AOSP 是你把后台页面划掉之后只是把 UI 给关掉(也就是系统不会保存你浏览页面的状态,下次切换不会恢复),而与后台 service、推送什么的无关。不过,你也可以在设置里关掉某些 app 的后台能力。
    对于国产 ROM 来说,由于你懂的原因,所以很多设置成了划掉以后把后台的东西全部杀掉了(这个不是谷歌的本意)。并且如果你设置成自动管理的话,无论你还有多少 RAM,除了少数厂商预先设置的 app (比如微信等),其他的后台都会杀的干干静静。
    我的某为机器也是这样,不管怎么设置,后台老是被杀掉,很烦~
    JackyKeke
        21
    JackyKeke  
       2019-11-14 15:21:51 +08:00 via Android
    那可是 emni 的事…不关安卓
    juded
        22
    juded  
       2019-11-14 15:58:33 +08:00 via Android
    一般来讲国产 ROM 启动模式下会有明细选项,比如手动模式下可能还分允许自启动 允许后台 等等。你可以设置明细项。
    另外你的描述似乎有问题,一般自动模式下启动限制严格,并不会出现相互唤醒的现象,手动才会。保持自动模式就可以满足你的要求了。
    不知是不是汉化的原因,安卓上有些设置描述容易产生误解。比如忽略电池优化下,允许是不优化,不允许是优化。
    hfc
        23
    hfc  
       2019-11-14 18:49:26 +08:00
    手机管家--应用启动管理,然后在这个页面切换“自动管理”和“手动管理”的时候,会有一个弹框,里面就分别是“允许自启动”、“允许关联启动”和“允许后台活动”的三个开关了。
    HangoX
        24
    HangoX  
       2019-11-14 19:19:40 +08:00
    @z1154505909 因为它后台是播放无声音乐维持启动的。系统不杀音乐播放的东西
    HangoX
        25
    HangoX  
       2019-11-14 19:20:29 +08:00
    我觉得楼主不用太在意了,国产机现在基本都是杀杀杀的,自动启动之后一会又没了。除非挂通知栏
    lisachensyd
        26
    lisachensyd  
       2019-11-14 19:49:32 +08:00
    @HangoX 这大概就是为啥有些毒瘤 app 一直常驻通知栏“正在运行中”还划不掉,太烦了
    cst4you
        27
    cst4you  
       2019-11-14 22:24:41 +08:00
    别瞎说 EMUI != Android
    说错了要负责任的
    Bwoywan
        28
    Bwoywan  
       2019-11-14 22:28:15 +08:00
    我 3gb 内存的手机日常都不太担心后台保活的问题,(当然后台不能挂太多应用,满了就杀后台了),从 MIUI Flyme 到原生,我觉得这是国产 ROM 魔改,替用户做主留下来的病。
    z1154505909
        29
    z1154505909  
       2019-11-18 11:18:25 +08:00
    @zuoyuan333
    @HangoX 经过你们这么一提醒我大概是懂了,这操作是真恶心啊,
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1054 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 23:06 PVG 07:06 LAX 16:06 JFK 19:06
    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