对安卓最失望的地方

2019-02-18 14:47:55 +08:00
 razios
还是消息推送太不稳定。。。和 ios 比起来其实各方面都已经差距不大,唯一就是推送完全不如 ios 舒服。不知道是 app 原因,还是后台原因。
ps:原生系统。
24422 次点击
所在节点    Android
91 条回复
wanwaneryide
2019-02-18 16:09:37 +08:00
@Gcourage google 上下载的也没啥用,然后下次 APP 直接提示你更新,又成了国内版了
hellormrfool
2019-02-18 16:14:51 +08:00
为什么 MIUI 10.2 微信偶尔会不提示新消息!
murmur
2019-02-18 16:15:55 +08:00
消息推送是省电机制的锅
没有 py 各种 rom 的程序 进后台基本商就是被杀
orangeade
2019-02-18 16:17:15 +08:00
只能怪墙了,我对国内软件推送没需求,墙外软件推送都很舒服,ifttt、telegram、outlook 啥的
还有 Chrome 的 web notification

原生系统,又对国内推送有需求,试试第三方 MiPush, 加上 magisk 基本和 MIUI 差不多了:
https://github.com/MiPushFramework/MiPushFramework


@wanwaneryide #21 忽略不久行了,我基本不更新 play 上下载 app 的国内版,没必要,都是广告
heiyutian
2019-02-18 16:17:15 +08:00
建议谷歌把推送权限从新系统给限制了,这样以后那些想绕开谷歌搞自己的统一推荐都没门,然后不得不解禁 gmc 来福利大家。
heiyutian
2019-02-18 16:17:36 +08:00
datou
2019-02-18 16:23:38 +08:00
@yukiww233 厂商魔改系统各种杀进程,其实也挺尴尬的
kernel
2019-02-18 16:26:49 +08:00
可以看出来国产的操作系统开发商一盘散沙,全是垃圾,可以不用 gcm,但就这几家厂商就不能痛痛快快马上搞一个出来,那个统一推送的都几年了没下文
outladder
2019-02-18 16:27:43 +08:00
费电
alexsunxl
2019-02-18 16:34:50 +08:00
小米和华为的推送这种厂商自己定制系统里的推送通道还是很稳定的,体验应该接近 fcm 这种。
就是苦了开发者, 做安卓 app 的推送要兼容各种不同的通道
DOLLOR
2019-02-18 16:37:07 +08:00
我对安卓最失望的是各路流氓在 SD 卡里随地大小便的现状
skylancer
2019-02-18 16:38:00 +08:00
@hahastudio 走,但是 fcm 不用于推送信息,而是用来唤醒用的,而且还不是高优先级
bolide2005
2019-02-18 16:45:56 +08:00
@DOLLOR #30 这个深有同感,打卡文件管理器的一瞬间整个人都不好了
mengyang624
2019-02-18 16:51:11 +08:00
@bolide2005 #33
@DOLLOR #31

用 xposed 插件可以缓解一下,为我重定向了一百五十多文件夹了。。。
gamexg
2019-02-18 17:01:09 +08:00
推送问题不是常识吗?

苹果系统本身有统一的推送机制,android 也有系统级别的统一推送机制。

但是国内墙的问题使得这个机制无法工作,然后各个应用就使用各种手段常驻后台维持自己的长连接推送。各个程序都在台运行会造成严重的耗电问题,厂家为了解决这个问题各种杀后台进程,进程被杀后程序自己的推送机制当然挂了。

几年前曾经实现过 android 推送,算是明白 app 和厂家之间的相爱相杀。

android 锁屏一段时间后,cpu 会关闭,这时候即使 app 没被杀死也无法工作。虽然 app 可以强制 cpu 不关闭,但是耗电会很高,除了极少数特殊用途 app,其他 app 敢这么干是等着被卸载。
那么只能选择定时唤醒 cpu 去维持自己的推送通道,不过 google android api 文档上面写的很清楚的定时器 api 实际工作并不是那么可靠。
厂家为了解决各个 app 为了维持自己的推送通道不断唤醒 cpu 造成耗电加剧问题,当检测到 app 执行太多的唤醒操作后就不会在唤醒 app 了,app 无法唤醒会造成长连接被关闭当然会造成推送失败。

即使手机提供了白名单等功能,实际测试看起来也是无效,当执行太多唤醒时 app 会进入黑名单,定时器完全不工作了。

当时围绕着能够唤醒关闭 cpu 的各个功能查了一遍,最终找到了一个网络唤醒 cpu 的方式。即服务器发包,基带收到数据后会唤醒 cpu,android 系统会将数据传输给 app,这样就避开了定时器不允许运行太多的问题。
但是如果这个长连接因为各种意外断开,那么 app 就无法被服务器数据唤醒了,只能等到下次屏幕开启等广播或超长定时器唤醒后重建长连接了,这就是推送延迟。
amwyyyy
2019-02-18 17:04:41 +08:00
可以用小米、华为、魅族、oppo,这些手机有做厂商推送,送达率会比较高。
drush
2019-02-18 17:10:31 +08:00
我在用 pixel 3 原生 android, 在香港没有墙,微信用的是 google play 上的版本,推送一样有问题。还不只我一个。

https://www.reddit.com/r/China/comments/67fiia/not_getting_wechat_notifications_unless_i_open/
xiva1209
2019-02-18 17:31:52 +08:00
@drush 对的,我 p2xl,也是,只有打开微信才有通知。垃圾腾讯死也不上 fcm,play 评论区全是收不到通知的反馈
Aug
2019-02-18 17:35:12 +08:00
android 还能活几年,fuchsia 啥时候上架。
razios
2019-02-18 17:52:04 +08:00
@gamexg 解答很详细 谢谢

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

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

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

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

© 2021 V2EX