V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lfk0000
V2EX  ›  Android

求教安卓 6.0 的两个疑问:绿色守护的浅睡模式、TF 卡的融合模式

  •  
  •   lfk0000 · 2016-07-22 08:09:42 +08:00 · 20455 次点击
    这是一个创建于 3078 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近刚刷 6.0.1 ,有两个疑问不明,想请教一下

    1 :绿色守护的浅睡和嗜睡好用么?
    1.1 :和之前的高效模式( xposed )相比如何?
    浅睡就是安卓 6.0 的打盹吧,嗜睡似乎也可以用其他的软件来实现立即打盹,总感觉绿色守护干这种活儿大材小用了。。。
    明明用其他软件就能实现的。。。
    1.2 :还是说 6.0 没必要用绿色守护,直接阻止启动+强制 doze 就能搞定?


    2 : TF 卡的融合模式有什么优缺点?
    2.1 :融合成内部储存了,是把整个 tf 卡挂载到哪个目录么?
    还是他自己把 tf 卡分了个区,分别挂载到\data ,\mmt 等等不同的地方去的?
    2.2 :如果把 tf 卡再出来插 windows 电脑上,是什么格式的分区?可以对其读写、备份么?
    2.3 :如果不融合,安卓 6.0 对外部储存的访问权限比 5.0 限制更为严格么?
    可以通过修改 /system/etc/permissions/platform.xml 来破解么?
    34 条回复    2016-07-27 22:48:09 +08:00
    leots
        1
    leots  
       2016-07-22 08:21:21 +08:00
    回答你第一组问题:
    1.1 浅度休眠和嗜睡模式都可能导致被 doze 的应用无法联网:
    我只开启了浅度休眠,有的时候支付宝被休眠后,再打开会发现提示无网络连接。
    1.2 xposed 可以 GCM 唤醒(捐赠),还可以有唤醒对齐等功能。
    1.3 直接用阻止运行也可以,我用的是阻止运行+绿色守护。

    Nexus 6P 用户
    jonechenug
        2
    jonechenug  
       2016-07-22 08:36:49 +08:00 via Android
    会把你的 TF 卡格式化成 ext ,还有权限严格了,默认只读不写,甚至有时候不给读的权限,相关的软件无法操作 TF 卡的文件
    lfk0000
        3
    lfk0000  
    OP
       2016-07-22 08:37:07 +08:00
    谢谢 @leots
    1.1 那不支持 GCM 的 IIM (主要是 QQ 、微信),以及一切需要自建后台来维持推送功能的软件,是不是都会被 doze 住,无法推送?
    1.2 捐赠了的,不过看 GCM 唤醒是说“允许 GCM 推送消息唤醒 [已休眠] 的应用”,而浅度休眠里面说的是“一旦开启,浅度休眠将在绿色守护中全面取代传统休眠机制”。。。这么说着似乎是开了浅度休眠, xposed 插件的那些针对传统休眠机制的功能全体歇菜的意思。。。。
    1.3 好的,我也把阻止运行搞起 :P
    yangyaofei
        4
    yangyaofei  
       2016-07-22 08:58:14 +08:00 via Android
    第二个确实有一个 link2sd 的东西,是分一个 ext 分区挂载到 /data 然后想放入 sd 卡的移动文件后做软连接到相应目录,在 win 上非 ext 分区可以看到个操作, ext 分区貌似就只能安装相应的软件了。第三个不知道,用过 link2sd , sd 卡读写速度是硬伤………
    honeycomb
        5
    honeycomb  
       2016-07-22 09:04:25 +08:00 via Android
    浅睡模式就是强制应用进入 app standby 状态(等于在开发者设置为 set inavtive ),它是针对应用的,而不是 doze 的全局都影响。

    融合储存相当于 Windows 10 Mobile 的导入储存卡,会对卡进行全盘加密
    leots
        6
    leots  
       2016-07-22 09:09:27 +08:00   ❤️ 1
    @lfk0000
    1.1 Google play 版本的微信有 GCM 推送,其他的不支持 GCM 的 app 将会被 doze
    1.2 针对传统休眠机制的插件?抱歉,除了绿色守护,我没用过其他的关于 doze 的 app 。
    honeycomb
        7
    honeycomb  
       2016-07-22 09:10:12 +08:00 via Android
    @lfk0000 doze/app standby 的进入离开条件在 Android developers 网站有说,前者更具体的状态转换也有人解析。

    Android 7 的 doze 比 Android 6 的更复杂, Android 6 检测到运动时, doze 会失效,在 Android 7 ,则有两个 doze 状态,运动时的 doze 限制的内容较少,类似于 app standby 。
    qjhqxnne
        8
    qjhqxnne  
       2016-07-22 09:20:43 +08:00   ❤️ 2
    昨天开始也在研究这个问题。
    原一加 1 魔趣用户,现一加 3 氧 OS 用户。
    魔趣 60.1 开始自带了宙斯盾可以实现类似绿色守护和阻止运行的功能,所以好久没用绿色守护了。换到一加 3 后,由于第三方 rom 尚未支持快充,只好暂时用氧 OS 搭配绿色守护(捐赠+Xposed )。阻止运行在被收购后的所作所为无法信赖,弃用。
    需要压制的只有微信支付宝和个别银行应用,下面仅以微信为例。
    前提:所有 APP 均为 Play 最新稳定版, MyAndroidToolsPro 对微信唤醒器仅开启 GCM 和消息接收提醒两个。这样不影响消息的即时接收提醒。
    宙斯盾五大模块全部对微信开启后,切换到后台后微信不会接收任何消息,直到打开到前台。切换到微信界面的瞬间有时会出现无法联网的提示,说明的确进入了 doze 模式。
    绿色守护启用全部 Xposed 功能:
    仅开启浅睡模式,在使用快捷方式休眠并关屏后,很快就会接收到新消息。
    仅开启嗜睡模式,快捷方式后,一般不会再收到新消息,这时手动打开微信会出现启动界面,基本可以认为类似于传统休眠彻底杀掉了后台。
    对我来说,微信不需要保持消息畅通,偶尔看下即可,所以暂时会使用嗜睡模式,等魔趣支持快充后就刷过去。毕竟魔趣很多小功能找不到第三方 APP 来取代,比方说未知来源应用仅该次放行,还有针对各应用的隐私防护功能。
    honeycomb
        9
    honeycomb  
       2016-07-22 09:34:20 +08:00 via Android
    @qjhqxnne 嗜睡只是 doze ,本身不会杀进程。而是微信把自己分了好几个进程,其中有一个和界面有关的很容易被杀(或者是微信自己关的)

    处于浅睡的应用无法连网但可以获取唤醒锁,处于 doze ( 6.0 )时就真的什么都不能做了
    fangdingjun
        10
    fangdingjun  
       2016-07-22 09:41:15 +08:00
    绿色守护的嗜睡模式会导致系统唤不醒,现象是屏幕点不亮, adb 可以用,基本上一周一次
    关掉后再没出现过
    lfk0000
        11
    lfk0000  
    OP
       2016-07-22 10:09:40 +08:00
    @qjhqxnne 谢谢测试!
    你在 “仅开启浅睡模式” 和 “仅开启嗜睡模式” 的时候,有没有对 微信 进行 绿色化操作(点加号进入 应用排查顾问,然后把微信勾选,这样休眠他
    nullizer
        12
    nullizer  
       2016-07-22 10:38:39 +08:00
    我感觉浅睡模式还是压不住一些毒瘤的唤醒,省电效果不好。
    lfk0000
        13
    lfk0000  
    OP
       2016-07-22 10:46:49 +08:00
    @qjhqxnne @honeycomb 有点糊涂了
    浅睡开了,休眠就无效了?
    比如我本来设置了对支付宝休眠,但是开启了浅睡,在灭屏后支付宝的进程不会被杀?

    所以浅睡是针对全局所有程序一起生效的?只要开了浅睡,之前设置的休眠那些就无效了?
    那如果开了浅睡,像 QQ 那样不支持 GCM 推送的程序,“网络活动和唤醒被阻止了”的话,是不是就无法即时的收到推送了?

    而单独开启嗜睡,和传统休眠可以同时作用?只是传统休眠是真杀进程,嗜睡是深度睡眠(看上去像是杀了进程一样,其实没杀)?


    那么,是不是可以这么理解:
    浅睡:和传统休眠的不兼容,禁止网络通讯但是可以被 GCM 唤醒,唤醒锁可以按小时计的周期对齐了唤醒,充电时保持激活,亮屏时无限制(?是么)
    嗜睡:和传统休眠的兼容,禁止网络通讯,也不能被 GCM 唤醒,唤醒锁彻底失效,充电时保持激活,亮屏时无限制(?是么)

    如果浅睡和嗜睡对亮屏时的后台都不作限制的话,那还是得靠传统休眠(杀进程+切断唤醒)来治理各种流氓吧?
    qjhqxnne
        14
    qjhqxnne  
       2016-07-22 11:03:17 +08:00
    @honeycomb 马丁龙猪说过,宙斯盾就是用的 doze 。那为何绿色守护的嗜睡会杀掉进程宙斯盾却不会?难道是绿色守护用 Xposed 的原因?
    qjhqxnne
        15
    qjhqxnne  
       2016-07-22 11:07:44 +08:00
    @lfk0000 绿色守护当然要把相关流氓加入到列表中。
    我试了下用 MyAndroidToolsPro 禁掉微信的 GCM 广播接收器,用浅睡模式,还是能常常收到消息。说明微信消息主要依赖 NotifyReceiver 广播接收器来唤醒。
    支付宝我的主要压制方法是用 MAT 把服务和广播接收器全部禁用。很久了,没发现任何功能失效。
    Halry
        16
    Halry  
       2016-07-22 11:23:39 +08:00
    浅睡只是绿色用了 doze 里面的一种方式让 app 暂停,而不是像以前一样杀掉进程.
    doze 的话是关屏幕了,无运动,就仅让 gcm high priority 联网,在后台的 wakelock 全部被关闭,但是 app 是被浅睡,而不是被 kill
    Halry
        17
    Halry  
       2016-07-22 11:33:30 +08:00
    顺便说一点,并不是所有手机都支持 doze,浅睡必须有 doze 支持.
    有些手机没有支持 mpu,所以就没有 doze 了,反而强行开 doze 更费电.
    lfk0000
        18
    lfk0000  
    OP
       2016-07-22 11:51:38 +08:00
    @Halry doze 是关屏后生效,那浅睡呢,是关屏生效还是最小化到后台就生效?
    honeycomb
        19
    honeycomb  
       2016-07-22 11:56:33 +08:00 via Android
    @lfk0000 绿色守护的休眠只会选一个模式,要么是杀进程的三个版本(设备管理器, root 版, xposed 版),要么是 6.0+才可使用的 app standby 。

    用 app standby 的目的本就是不杀进程。

    无论是系统处于 doze ,还是应用处于 app standby ,都能被高优先级 gcm/firebase message 唤醒

    在 6.0 , doze 检测到运动 /亮屏,充电就会停止使用
    app standby 会在充电期间暂停使用,亮屏时依然有效, app standby 保证每天有一次机会可以联网
    honeycomb
        20
    honeycomb  
       2016-07-22 12:04:40 +08:00 via Android
    @qjhqxnne 嗜睡(用那个 dumpsys xxx 的命令提前进入 doze+可选的阻止系统检测运动而终止 doze )和杀进程无关。

    它只有使用非浅睡时的“绿色化”,才是由绿色守护执行 am force-stop + 包名的方式杀这个包相关的所有进程

    微信有一个 NotifyService 是打算让系统容易杀掉的(它占得内存多,优先级没提过,也没有别的保活),微信刻意保活的是另一个内存占用很小的 CoreService ,没 NotifyService 进程的时候,开微信就会重新加载界面。

    app standby 和 doze 都不会杀进程,只是微信的 NotifyService 所在的进程比较容易被杀
    imn1
        21
    imn1  
       2016-07-22 12:23:50 +08:00
    我觉得 iOS 用户会对此帖阅读困难,哈哈
    求问 6.0 有什么 ROM 可以所有进出电话自动录音的(华为机),不需要点录音按钮?为了这个一直没升留在 5.1
    qjhqxnne
        22
    qjhqxnne  
       2016-07-22 14:32:03 +08:00   ❤️ 1
    @imn1 ACR
    qjhqxnne
        23
    qjhqxnne  
       2016-07-22 14:38:29 +08:00
    @honeycomb 谢谢。
    CoreService 禁用后就没法用微信了……
    qjhqxnne
        24
    qjhqxnne  
       2016-07-22 14:40:58 +08:00
    现在每次重新打开微信大多会闪退,一次到 N 次,怀疑是微信对 Xposed 的反制。
    同样的,魔趣+宙斯盾就没发生过这个问题。
    一家还是赶紧开放快充源码吧。
    XhstormR
        25
    XhstormR  
       2016-07-22 15:12:15 +08:00
    看着楼上的,真不想用 Android 。
    Lonely
        26
    Lonely  
       2016-07-22 15:17:51 +08:00
    @XhstormR 哈哈哈,蛋疼无比
    qjhqxnne
        27
    qjhqxnne  
       2016-07-22 15:27:10 +08:00
    @XhstormR 我确实想再买个 iTouch 来对付国产流氓……
    smallpath
        28
    smallpath  
       2016-07-22 16:53:07 +08:00
    永远港行+root ,一个冰箱就可以玩转安卓
    rockzhou8
        29
    rockzhou8  
       2016-07-22 19:54:29 +08:00
    虽然常年安卓用户了,也在用绿守,但还是没弄懂这些模式
    honeycomb
        30
    honeycomb  
       2016-07-22 20:54:00 +08:00   ❤️ 1
    celon
        31
    celon  
       2016-07-22 23:05:59 +08:00
    看来要想好好使用 Android 还需要自身成为一个工程师才行
    jyf007
        32
    jyf007  
       2016-07-23 05:33:29 +08:00 via Android
    亲测如果不格外置 SD card 也可以用,但是目录挂 /storage/序列号 /(对,你没看错了)每换一张卡、格式化一次都是不一样的。
    CodeingBoy
        33
    CodeingBoy  
       2016-07-27 18:01:43 +08:00
    @qjhqxnne 阻止运行被收购了?发生了什么?(´・_・`)
    qjhqxnne
        34
    qjhqxnne  
       2016-07-27 22:48:09 +08:00
    @CodeingBoy 去酷安围观好了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3153 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 12:04 · PVG 20:04 · LAX 04:04 · JFK 07:04
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.