安卓下令人震惊的 APP 关联启动方式

2016-10-21 13:03:53 +08:00
 sammo
https://twitter.com/AC_MUTD/status/789314602286723072
“ ( 图为 ) VIVO X7 的管理界面。不需要 root ”



问题:
1. 我是否孤陋寡闻了 / 大家都知道这个事么?
2. 上述公司的 developer 是否知道自家 APP 的这些关联启动?
3. Android 下 ( 即外国 APP 之间 ) 是否也有类似的关联启动 / 这是不是全球 Android APP 开发的常态或潜规则?
4. 这是正常的吗? ( 尤其是和 这个手机里的所谓的 Chrome 、 Google Play 服务 关联启动的 )

不懂之处或问题问得不恰当的地方请多指教

-
31414 次点击
所在节点    Android
77 条回复
honeycomb
2016-10-21 13:12:22 +08:00
1 ,是 /这是几年以前的新闻。
2 ,是,本就是他们故意这么做的
3 ,肯定有进程保活,但无通过推送 SDK 关联启动,因为不需要 /不是。

因为有 gapps 自带的 gcm (最初叫 c2dm ,目前叫 fcm ),所以不需要额外的推送服务。

何况连 Google 都知道在 Android 上部署了 doze/app standby 来限制应用后台运行。

进一步地,它还加入了一个 RUN_IN_BACKGROUND 的 op ,这个 op 被限制住的时候,应用便只能调用 foreground service 与 bound service ,除此以外的后台运行都被阻止
iMono
2016-10-21 13:15:29 +08:00
怎么截得长图
Jaylee
2016-10-21 13:15:41 +08:00
应该是用了同一家的推送吧。。
firefffffffffly
2016-10-21 13:26:25 +08:00
我知道的有些 sdk 都附赠全家桶启动功能,比如*度地图,推送 sdk 估计更是重灾区,很多开发者在不知情情况下,就背了连锁启动的黑锅。
queuey
2016-10-21 13:34:22 +08:00
@firefffffffffly 你说的应该是链式唤醒吧,但是他们这个明显八竿子打不着的公司都能互相启动了?
st2udio
2016-10-21 13:35:41 +08:00
国内没有统一的推送,无奈
beimenjun
2016-10-21 13:41:40 +08:00
这个互相唤醒应该是用了同一家推送 SDK 导致的,安卓墙内一些推送服务就是依赖互相唤醒对方,来保证常驻后台接收相关推送。
ovear
2016-10-21 13:44:15 +08:00
很可能是推送 SDK 的锅。。
vivagonna
2016-10-21 13:48:36 +08:00
这个就算用后台管理程序限制了也只能是唤醒一次杀一次吧?所以唯一的解决方式是不安装?
loshine1992
2016-10-21 13:54:40 +08:00
杀进程之后接不到推送了,用户说:消息、推送都接不到,辣鸡 App 。

为了保证杀进程之后依然收到推送,国内第三方推送 sdk 基本都弄了一个联合唤醒的机制,只要使用了同一家的 sdk ,启动其中一个 app 的时候就会唤醒其它所有集成了该家 sdk 的 app 的推送进程,以保证所有 app 推送的送达率。

如果有 gcm 就可以所有 app 都使用 gcm 自然不会有这个事情,但墙内的世界,你懂的。
shizhouren
2016-10-21 14:00:42 +08:00
怎么截得长图 @sammo
hei1000
2016-10-21 14:00:52 +08:00
有些 app 比如新浪微博会使用小米推送(xmpush)的接口,所有使用这个推送的 app 回相互唤醒,但是开发者也可以主动禁止的,比如前一段时间酷安 app 就开始使用 xmpush ,发现问题后很快他们的开发者就禁掉了唤醒其他 app 的“ bug ”了,像这样的良心的很少
beimenjun
2016-10-21 14:18:56 +08:00
@hei1000 不一定是良心,这货禁止了别人唤醒它自己的进程的行为了吗?

没有的话,某种程度上只接收别人唤醒不唤醒别人比互相唤醒还糟糕。
hei1000
2016-10-21 14:26:58 +08:00
@beimenjun 目前没有发现谁会唤醒酷安,另外我用的 flyme ,所以自带一部分切断唤醒
firefffffffffly
2016-10-21 14:36:11 +08:00
@queuey 都是一样的, 你的 app 如果使用了这些 sdk ,这些 sdk 就会偷偷在你的应用进程里执行唤醒其它应用的操作,结果看起来就像是你的 app 唤醒了其它应用。
imbahom
2016-10-21 14:38:31 +08:00
应该是三方 SDK 的锅,我感觉其实大部分 android 程序员都不研究这些流氓手段(只是被动使用)
EricCartman
2016-10-21 14:39:53 +08:00
国产全冻结,需要的时候打开,或者换 iOS
Khlieb
2016-10-21 15:22:10 +08:00
还有换替代品 app
queuey
2016-10-21 15:30:24 +08:00
@firefffffffffly 所以我换成了极为辣鸡,极为自闭的 iOS 了🌝
sylecn
2016-10-21 15:42:17 +08:00
通知,推送,广告类型的通知,进程常驻,耗电量
这些真是伤不起啊。目前为止,需要通知的,只能让它常驻,比如微信这种。用的华为手机,一旦设置了不让进程常驻,大部分通知都弹不出来。设置了允许常驻,耗电量就刷刷的上升。

也不知道是 app 优化的不好,还是故意作恶。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/314390

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX