文档章节

杀死其他APP后台服务

yolinfeng
 yolinfeng
发布于 2015/06/19 14:58
字数 468
阅读 16
收藏 0

1. 一开始是这样的,在反编译完美团外卖商家Android版后,我发现其中有一个杀死后台运行进程的权限

<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES"/>

Android开发者官方文档描述如下:

Have the system immediately kill all background processes associated with the given package. This is the same as the kernel killing those processes to reclaim memory; the system will take care of restarting these processes in the future as needed.You must hold the permission KILL_BACKGROUND_PROCESSES to be able to call this method.


2. 看到这个权限后,第一感觉应该是美团为了保证自己App可以流畅运行而杀死后台长时间不运行的App,凭借着职业的敏感继续跟进,终于找到killBackgroundProcesses(String packageName)的调用处:

3. 从调用处看,美团并未使用很高深的技术来判断后台运行进程来选择杀死长期不运行的App,而是直接用Hardcode写死了四款App的包名,细心读了读包名,结果让我震惊
这些熟悉的名字,每个都是美团的竞对。原来美团并不是为了让自己App运行更流畅而杀死别的App,而是直接封杀竞对的App。

4. 从上图看,调用killBackgroundProcesses(String packageName)方法的类名是FriendUtil,也就是美团字面上称竞对是朋友,然后背后捅一刀子。

看到这里,我点了根烟,陷入了深深的沉思(严肃脸)。这样大胆地用Hardcode封杀,给人的感觉怎么都像是小偷作完案还要在别人家里留张名片,不知道各位怎样看?


本文转载自:http://www.zhihu.com/question/31413252

共有 人打赏支持
yolinfeng
粉丝 12
博文 196
码字总数 11946
作品 0
珠海
架构师
加载中

评论(1)

mobangjack
mobangjack
没有办法,商界风云,先糖衣后炮弹
Android 消息推送:第三方消息推送平台 详细解析

前言 消息推送在 开发中应用的场景是越来越多了,比如说电商产品进行活动宣传、资讯类产品进行新闻推送等等,如下图: 推送消息截图 本文将介绍 中实现消息推送的第三方推送的详细解决方案 ...

Carson_Ho
2017/05/22
0
0
App用户登入登出设计

App用户登入登出设计 流程图 注意,登出的时候需要关闭用户资源。如果不关闭的话,就会导致后台服务一直接收退出用户的消息等情况发生。 资源 登出 对于APP来说,完全退出是一项非常基本的功...

精通吹水
2016/03/18
229
0
android保活进程总结--双进程保活策略

进程的保活,在很多资讯类的App和即时通讯App的用处很大,奈何谷歌的推送服务在国内是被阉割了!据说是在8.0(奥利奥)相关政府机构已经将开放这项功能提上了日程,嗯,没错8.0,预计再过三五...

傲娇的小bug
01/03
0
0
三分钟帮你集成极光推送——和那些你可能不知道的事

本文简介:本文前篇,可以帮助朋友们快速集成极光推送。本文后篇,是我自己项目实践的一些总结和心得,应该对读者们还是很有参考价值的,相信读完这篇文章,你会对极光推送有更加深入的理解,...

一只懂音乐的码虫
05/09
0
0
被后台杀死后,Android应用如何重新走闪屏逻辑

Android应用运行在后台的时候,经常被系统的LowMemoryKiller杀掉,当用户再次点击icon或者从最近的任务列表启动的时候,进程会被重建,并且恢复被杀之前的现场。什么意思呢?假如APP在被杀之...

看书的小蜗牛
01/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

最全最强解析:支付宝钱包系统架构内部剖析(架构图)

支付宝系统架构概况 典型处理默认 资金处理平台 财务会计 支付清算 核算中心 交易 柔性事务 支付宝的开源分布式消息中间件–Metamorphosis(MetaQ) Metamorphosis (MetaQ) 是一个高性能、高可...

晨猫
28分钟前
4
0
竞品分析

那什么样的场景需要用关键纬度分析法分析竞品呢? 竞品分析的目的是为了看竞品们和自己产品重合的业务都具备哪些功能点,以及这些功能是怎么做的,以此确定自己产品的优化方向。 竞品们的业务...

于谦老师
35分钟前
1
0
OSChina 周三乱弹 —— 公司女同事约我

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @莱布妮子:分享水木年华的单曲《蝴蝶花(2002年大提琴版)》 《蝴蝶花(2002年大提琴版)》- 水木年华 手机党少年们想听歌,请使劲儿戳(这里) ...

小小编辑
今天
929
16
Linux环境搭建 | VMware下共享文件夹的实现

在进行程序开发的过程中,我们经常要在主机与虚拟机之间传递文件,比如说,源代码位于虚拟机,而在主机下阅读或修改源代码,这里就需要使用到 「共享文件」 这个机制了。本文介绍了两种共享文...

良许Linux
今天
9
0
JUC锁框架——AQS源码分析

JUC锁介绍 Java的并发框架JUC(java.util.concurrent)中锁是最重要的一个工具。因为锁,才能实现正确的并发访问。而AbstractQueuedSynchronizer(AQS)是一个用来构建锁和同步器的框架,使用A...

长头发-dawn
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部