跳转到指定楼层
楼主
发表于 2016-6-3 18:18:18 | 只看楼主 |倒序浏览 |阅读模式 |收藏本帖
应用需要自启动,通常都是采用在AndroidManifest.xml里面注册静态广播receiver的方式实现。Android系统开机会发送开机完成,媒介挂载等广播,应用接收到后,就可以启动自己的service进行后台运行。

Android 2.3之后,开始出现应用自启动管理功能。当时的自启动管理就是针对app注册的静态广播的receiver,禁止进行禁止。可以通过命令pm disable或者API setComponentEnabledSetting来禁止掉该receiver。
这样,开机后,应用app就不会出现接收到被禁止掉的receiver的广播,进而就不能自启动了。

随着时间的发展,应用开发者发现,应用启动后,可以通过shell启动一个native层可执行程序,可执行程序父进程在fork子进程作为守护进程后退出。
这样Android系统在通过force-stop等方式杀应用后,守护进程可以通过am命令再次启动应用。
这一缺陷,在Android5.0后通过uid查杀进程,才结束掉该类自启动。

期间也出现过通过定时force-stop应用达到省电目的的工具。

单个应用自启动的可利用环境越来越少,应用自启动按理说应该越来越好。但是现实总是那么残酷。

三方平台在早期提供长连接push服务时候已经为后续的发展做好了铺垫。

小米push,极光,到后来的百度pushservice等等,各种各样。

最初的push服务,自身为了保证消息接收及时。到后来,开始推送广告,再后来,出现了应用相互启动的现如今的局面。

目前市场上发现做法最有损Android系统体验的,要数百度云推送 服务。实现原理大概如下:
手机安装了多个集成了百度云推送服务sdk的应用,百度PushService在开始会通过receiver相互发送广播唤醒其它应用。由于自启动管理对receiver的管控,出现了通过sevice来相互唤醒各个应用。
sdk首先会收集各个集成了sdk的应用,内部会按照优先级进行排序,找出优先级高的应用作为PushService的主服务,负责启动其它应用,同时及时更新主服务。
应用启动后,部分service的进程会死亡退出,部分会唤醒应用的主要功能,保证进程运行。

这里就有3个问题:
1.进程在频繁的创建,死亡。对系统开销是相当大的。
2.起来的应用,很多耗电相当严重。
3.系统启动了很多应用,对内存消耗是相当大的。

各类不符预期的应用大量启动运行,直接造成了Android系统的使用体验极差:系统卡顿,耗电量大。

为了保证良好的用户体验,Android系统厂商也开始针对此类问题进行专项处理,提出了链式启动,或相互启动 控制。
1.控制自启广播启动
2.控制跨应用服务启动
3.针对各类push服务,直接加入黑名单处理。

以此提升Android系统的使用体验。

测试数据:
专项测试发现,在安装4大全家桶APP的情况下,打开切断相互启动的手机,DOU测试3小时,耗电48%,而没开切断相互启动功能的手机,耗电100%。

By:钱柜娱乐开户开发工程师


展开

评分

参与人数 17加油 +21 理由
096Shaw + 1 很给力!
影蓝泪 + 1 很给力!
J1505056872432 + 1 很给力!
A1498016400130 + 2 很给力!
游弋HH + 1 很给力!
netwalking + 1 很给力!
豢龙烛天灬刄 + 1 很给力!
losesw + 1 很给力!
双城天子的天下 + 1 很给力!
三川兔子@昆鹏 + 2
阿beng + 1 很给力!
棉花糖我爱吃 + 1 赞一个!
M1457170985812 + 1 很给力!
X1465223255970 + 1 很给力!
F1446741140475 + 1 很给力!
CharMe + 5 很给力!
小小落叶 -1 感谢分享
查看全部评分
世界每天都在变,而唯一不变的是变化。
发表于 2016-6-3 18:20:18 来自手机 | 只看该作者
涨姿势了
发表于 2016-6-3 18:20:25 | 只看该作者
沙发~~支持蓝帅哥~
Never Stop Moving.  Never Settle.-----by OnePlus 3   
有问题请私聊。有bug去反馈区。想吐槽找@蓝帅
一一二十 95#汽油 Rank: 9Rank: 9Rank: 9 万圣节 纪念勋章 国庆节 纪念勋章 奥运会 纪念勋章 情人节 勋章 元宵节 纪念勋章 钱柜娱乐开户内测 荣誉勋章 猴年 勋章 OnePlus 2 OnePlus 1 OnePlus X 植树节 勋章 OnePlus 3 在线小达人 鸡祥如意 OnePlus 3T OnePlus 5
地板
一一二十 | 95#汽油 Rank: 9Rank: 9Rank: 9 |16
发表于 2016-6-3 18:22:20 来自手机 | 只看该作者
同涨姿势了。受教了,支持[e]1f601[/e]
---来自一加社区手机客户端
发表于 2016-6-3 18:22:22 | 只看该作者
写得好牛逼啊,虽然我看不懂
发表于 2016-6-3 18:24:06 来自手机 | 只看该作者
牛逼,看不懂
---来自一加社区手机客户端
JoyBoy439 润滑油 Rank: 5Rank: 5 钱柜娱乐开户内测 荣誉勋章 OnePlus 2 OnePlus 3 OnePlus X OnePlus 1
7F
JoyBoy439 | 润滑油 Rank: 5Rank: 5 |5
发表于 2016-6-3 18:24:09 来自手机 | 只看该作者
虽然看不懂。但是说666肯定盘对的
---来自一加社区手机客户端
TANKbufo 95#汽油 Rank: 9Rank: 9Rank: 9 奥运会 纪念勋章 元宵节 纪念勋章 钱柜娱乐开户内测 荣誉勋章 我是加油GG OnePlus 1 圣诞节 勋章 元旦快乐 马年 勋章 在线小达人 一周年 纪念勋章 羊年 勋章 OnePlus 2 二周年 纪念勋章 猴年 勋章 金猴 勋章 植树节 勋章 OnePlus 3 三周年 纪念勋章 鸡祥如意
8F
TANKbufo | 95#汽油 Rank: 9Rank: 9Rank: 9 |19
发表于 2016-6-3 18:36:32 | 只看该作者
来学习!!!
发表于 2016-6-3 18:41:17 | 只看该作者
这个功能确实赞!!
Waiting for Her
NS1Plus 93#汽油 Rank: 8Rank: 8 国庆节 纪念勋章 奥运会 纪念勋章 植树节 勋章 我是加油GG 在线小达人 鸡祥如意
10F
NS1Plus | 93#汽油 Rank: 8Rank: 8 |6
发表于 2016-6-3 19:17:55 来自手机 | 只看该作者
x什么时候才能用上啊
---来自一加社区手机客户端
您需要登录后才可以回帖 登录 | 立即注册
本版积分规则
小黑屋| © 2013-2017 深圳市万普拉斯科技有限公司 版权所有( 粤ICP备13080605号-3 )
粤公网安备 44030402000179号
  
快速回复 分享 返回顶部