文档章节

杀死其他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
被后台杀死后,Android应用如何重新走闪屏逻辑

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

看书的小蜗牛
01/05
0
0
2018年Android的保活方案效果统计

一、常见保活方案 1、监听广播:监听全局的静态广播,比如时间更新的广播、开机广播、解锁屏、网络状态、解锁加锁亮屏暗屏(3.1版本),高版本需要应用开机后运行一次才能监听这些系统广播,...

codeGoogle
09/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

jenkins+docker+nodejs项目的自动部署环境

1、服务器安装docker yum install docker 2、jenkins安装 //创建jenkins工作目录mkdir -p /var/www/jenkins///拉取docker jenkins镜像docker pull jenkins //设置目前权限(必须...

西园里的猫
7分钟前
1
0
 索引和锁底层原理 !

索引和锁底层原理 ! 一、索引 在之前,我对索引有以下的认知: 索引可以加快数据库的检索速度; 表经常进行INSERT/UPDATE/DELETE操作就不要建立索引了,换言之:索引会降低插入、删除、修改...

DemonsI
16分钟前
0
0
转载:Java实现的SFTP

JSch - Java实现的SFTP(文件上传详解篇):https://www.cnblogs.com/longyg/archive/2012/06/25/2556576.html JSch - Java实现的SFTP(文件下载详解篇):https://www.cnblogs.com/longyg/......

WJtiny
19分钟前
0
0
聊聊storm的AssignmentDistributionService

序 本文主要研究一下storm的AssignmentDistributionService AssignmentDistributionService storm-2.0.0/storm-server/src/main/java/org/apache/storm/nimbus/AssignmentDistributionServic......

go4it
20分钟前
0
0
完全跨域的单点登录(SSO)解决方案源码解析

本文介绍的是一种PHP的开源SSO解决方案,可完全跨域,实现较简洁,源码地址:https://github.com/legalthings/sso 实现原理 一共分为3个角色: Client - 用户的浏览器 Broker - 用户访问的网...

庞陆阳
20分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部