现在手机耗电很大原因是这些 app 的做法

2015-09-06 11:48:20 +08:00
 ccccccc

很早就发现 baidu 系的 web 页面都会访问 android 上的一些端口

Failed to load resource:
http://127.0.0.1:40310/getcuid?secret=0&mcmdf=inapp_baidu_bdgjs&callback=_box_jsonp506

Failed to load resource:
http://127.0.0.1:6259/getcuid?secret=0&mcmdf=inapp_baidu_bdgjs&callback=_box_jsonp507

一开始想不通为什么, 后来才明白 baidu 的一些 app 之类的会在用户手机上开一些端口, 然后整个手机就像 web 服务器那样监听一些端口, 当用户访问 baidu 相关页面时候会访问这些端口, 然后返回一些信息, 像地理位置, 天气之类的, 非常准确. 当然还有可能是其他信息

其实不单止 baidu 这样做, 其他的都一样, 包括 iOS 平台的也是这样

如果你手机装了各家 app, 那么相当于你手机开了多个 web 服务器, 那么耗电当然很厉害

19898 次点击
所在节点    分享发现
73 条回复
xdata
2015-09-06 15:22:39 +08:00
看了一下,以 Android UA 打开百度首页 /贴吧页面..
一堆堆被 umatrix block 掉的本地端口请求..
如果以 https 访问还会报一堆 Mixed Content 错误.

还好从来不装国内垃圾 APP..
只从首页上看到了几个端口号.

尝试一下封掉..
# iptables -I OUTPUT -p tcp -o lo --dport 80 -j REJECT
# curl 127.0.0.1:80
curl: (7 ) Failed to connect to 127.0.0.1 port 80: Connection refused

如果确实要用那些垃圾 App,又不想网页通过 App 获取到手机信息.
很快能想到的一个思路:
扫端口,查应用,拉黑端口,对着黑名单加 iptables

如果考虑耗电, 卸载 > 冻结 > 绿色守护
beddo
2015-09-06 15:27:20 +08:00
测试 iOS 下没这个问题,不过还是卸载了百度系所有应用。
em70
2015-09-06 15:30:53 +08:00
基因决定的吧,百度就算做个 app 也要按 web 的技术来做
iyaozhen
2015-09-06 16:06:57 +08:00
@em70 你这没黑到点子上。

其实都是为了数据统计,以及增强 web 功能。在 kpi 面前耗电什么的不是关键指标。
beimenjun
2015-09-06 16:09:12 +08:00
iOS 确实可以常驻后台的,但是没装百度之类的 App ,也就不知道他们有没有这么做了。

其实不需要播放空白音频,这个是一些下载类型的 App 之前的方式。对于很多 App ,其实用 Background Fetch 估计就可以满足他们在上传位置、日志之类的需求了,比如 Move 这种运动轨迹的 App ,不用这种后台功能,整个 App 功能就废了,至于会不会有 App 滥用这种行为,我觉得肯定是有的,但是根本防不住。

另外 Background Fetch 某种程度上并不算是后台常驻(不知道我有没有正确理解常驻的意义,个人觉得播放音频似的后台可能更类似常驻), Background Fetch 更像是系统隔一阵子叫醒 App 一次,然后 App 在几十秒内必须完成对应的操作,然后等到下一次再叫醒。

不过我个人觉得楼主在主楼说的这类监听,就算是播放音频的三方 App ,在没有越狱的 iOS 上做不是特别的容易,很容易给沙盒模式限制住吧。
leyle
2015-09-06 16:09:13 +08:00
给大家推荐一个软件,真正的教这些垃圾做人。

http://www.coolapk.com/apk/me.piebridge.forcestopgb

阻止运行。
yylzcom
2015-09-06 16:47:03 +08:00
收藏了,哎,国内手机地图好像就百度的好用一些,其他的有什么良心的推荐吗?

@leyle 目前在用绿色守护,和您推荐的这个相比有什么差异
KillPaul
2015-09-06 17:16:58 +08:00
@yylzcom 当然是高德地图啊
finab
2015-09-06 17:20:04 +08:00
@ccccccc 播音频会很容易被用户发现,上拉或锁屏界面都可以看到 APP 正在播放音频呢,或者用户正在听歌会被突然打断。。
用户一看,这还得了,立马卸载了。。
这样得不偿失啊,所以百度在 iOS 上肯定不会是播音频
amon
2015-09-06 17:26:51 +08:00
播放空白音频这种小聪明是很过时的做法了。
未越狱的话,沙盒限制还是可靠的。
另:如果不想后台运行的话,可以选择关掉“设置”—“通用”—“后台应用程序刷新”。
leyle
2015-09-06 17:43:50 +08:00
@yylzcom 这个比较干脆,当你点击了安桌的虚拟(实体)返回按钮退出了某个应用后,那个应用就“真”的退出了,进程被杀掉。服务被干掉。
geeksu
2015-09-06 17:50:37 +08:00
@amon 最近流行什么做法?我需要实现按 Home 键后 APP 在后台保持运行
qgy18
2015-09-06 18:42:45 +08:00
@muzuiget 有 referer 白名单的。这个做法很常见了,本地启一个 127.0.0.1 的 Web 服务,通过这个服务,让 Web 拥有端的能力(定位、 Push 、读取联系人、读取安装软件等等)。
loading
2015-09-06 18:46:17 +08:00
我打开了开发者模式,长按返回键杀掉,还有个猎豹清理。

绿色守护在 5.1.1 有吗? xposed 框架呢?
nocheater
2015-09-06 18:51:37 +08:00
本地监听端口和耗电没有直接联系, cpu 、网络、 gps 、蓝牙这些硬件的消耗才是最主要的
Zubin
2015-09-06 19:20:15 +08:00
@loading 都有, xposed 前几天刚发了 5.x 的正式版
guoguoer
2015-09-06 19:28:49 +08:00
验证到百度云有这个,删。
datocp
2015-09-06 19:35:26 +08:00
时代不一样了,以前用一个 海卓手机加速 就可以禁止手机开机自动启动,根据网络状态变化启动。
可是现在的比如 那 vst 全聚合,很多进程在海卓手机加速里是发现不了的。最可恶的是用 海卓手机加速把 vst 全聚合 相应启动权限禁用,结果发现隐形进程又互相守护恢复权限。。。启动就算了,它还开始后台自动偷偷下载程序准备安装,在确定按钮时被拦住了。开发者太无良了,最后禁用,哈哈发现好久没用过 vst 。恶习相传啊。
billlee
2015-09-06 20:36:32 +08:00
@xdata 为什么需要扫端口,用 iptables 阻止掉所有传入连接会有问题吗?
standin000
2015-09-06 20:38:55 +08:00
@qiayue 是 ios?

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

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

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

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

© 2021 V2EX