回答一 先声明一下这个理由只适用于一部分软件,不适用所有软件。 这是因为他们的KPI考核中有「日活跃度」「月活跃度」「日在线时长」等指标,而这种指标靠软件开机自启然后连接服务器最容易实现,比方说某个用户今天有若干次或者若干时间连接过服务器,表示今天是活跃的了,软件在后台偷偷多登录几次服务器,日活跃度就上去了,有了后台常驻,即便用户今天根本没打开这个软件的界面,他也被计算为活跃的。有了后台常驻,用户的日在线时长等于手机在网的时间,等于PC开机的时间,多爽。 也许你会说,有考核难道就唯考核论了么?问题在于,无视这个考核的后果很严重,如果他们的日活数据达不到指标,这个项目组可能会被砍掉,开发团队可能面临失业,换岗位,合并到其他开发组,或者重新找工作的后果。运气最好的情况是给机会重新开发一个新项目,而这个时候,他们终于学乖了,自信满满的让程序开机自启,令日活达到理想值了。没人愿意生活在恐惧中,对不? 所以,这个现象转回来还是一点:KPI是万恶之源。为什么软件都要开机自启,你得怪制定这个KPI的老大们。能制定出这种KPI,开发者只好用坑顾客作为对策。 回答二 抛开为了KPI因素影响,其实最为重要的原因其实是大安卓的开放性质所造成(PC也差不多,基本雷同,此处只说安卓平台。) 自启动分为两种:开机自启与后台自启。 开机自启:顾名思义就是伴随着安卓手机开机的时候就启动了,跑在了后台上。这种情况基本上都是耍流氓行为,给手机ram带来负担不说,还极大的影响开机速度。一些开发者说开机自启后可以提高点击软件时启动速度,其实也是不负责的说法。 发展至今后台启动与初次启动速度的速度其实已经微乎其微了。除非开发者的程序实在太烂。 所以一切开机自启动的程序其实都可以定性为耍流氓。当然闹钟程序防盗程序除外。 后台自启:通过手机环境变化启动程序的行为。 之所以说一切开机自启动都是耍流氓是因为大安卓实在太开放了。以至于其实你不需要开机自启动一样能到完成你的功能设计。 大家都知道安卓没有ios一般的集中信息push机制。所以只能每个软件自己push信息了。所以软件需要无时无刻不后台着,但是没关系呀,你不需要开机自启,你只要在开发过程中,设计成联网后启动程序即可。反正没网的时候你也push任何东西。 还有最牛的在于你还可以设计成亮屏启动程序,这样一些隐私软件就可以完美工作了。 likethis 但是本来是好事的,到了我国就完全变了样了。不该启动的都启动了。你能告诉我一个手电筒软件需要联网唤醒干毛用吗?还有现在更厉害的是,妈蛋一个应用启动都能唤醒另一个应用。 打开微博,来往也被唤醒了。真是基情四射啊! 所以其实一切的源头其实都是为了用户体验。只是在我朝被跑偏了而已。自启严重影响手机运行速度,更加耗电。这也是安全软件所解决的问题之一:禁止自启动。 本文由人人都是产品经理@喵了咪整理自知乎问答,转载请注明并保留本文链接。