如果你是一位Android爱好者,或许还记得PingWest曾经提到过的关于如何让杀进程更智能的问题。当时,我们只是谈到安全行业在尝试解决这样的难题,而现在答案已经有了。
如果你使用的是已经Root过的Android手机,或许这些问题并不会让你困扰,因为市面上安全软件在拿到Root权限后基本都可以有效的解决程序后台自动启动的问题。但对于多数Android用户来说,他(她)们不会去主动Root自己的手机,甚至不知道Root是什么,这个情况下,如何去解决让杀进程更加智能的问题?
在给出答案之前,为了让读者都能看懂这个功能是怎么运转的,我首先对Android系统的后台特性做一些说明。
百度移动安全部***产品架构师阮龙告诉PingWest,用户之所以会觉得Android手机运行慢、耗电快主要是由于程序占用了太多的内存和CPU这两个原因导致的,而这其中的“程序”又可以分为三部分:有UI界面,用户可以交互的Activity、没有UI界面但会在后台运行的Services和接收别人通知的一个机制Receiver。
当用户不再和Activity交互后,Android系统会在运存不足的情况下自动终止Activity,但Services可能依然在后台运行。一开始,安全软件中的一键加速功能一般都是把Activity和Services杀掉,不过Receiver还在。
所以,对于安全软件来说,只要你能在不Root的情况下,同时杀掉Activity、Services和Receiver,那么自然也就解决了智能杀进程的问题,也解决了Android手机卡顿和耗电的问题。
那么接下来的问题就是怎么同时杀掉Activity、Services和Receiver?
如果你去Android系统中的设置—应用—应用信息页面看过的话,那上面有个“强行停止”按钮,在Android 4.0以后的系统中,这个按钮就可以让你一次点击同时杀掉Activity、Services和Receiver。
我在一部运行Android 5.0的Nexus 4上进行了测试,用这种方式杀掉某个应用后,即使过了一个晚上的时间,它也不会自动在后台重启。不过Google系的应用并不会受到限制,即使被“强行停止”,它们一样可以自动启动。
鉴于中国大陆大部分的Android手机都没有Google服务,所以只要能用“强行停止”的方式杀掉那些不必要的程序,即使没有Root权限,也能解决Android手机的卡顿、耗电的问题。
最开始,百度手机卫士给出的方法是让用户手动点,如果你要杀掉10个应用的话,可能需要点20多次,这明显是个很让人崩溃的过程,所以在4月份左右的时候,他们也在想有没有可能用批量的方式自动帮用户完成这个点击过程。
在实验了各种可能性之后,百度手机安全团队发现通过调用Android系统中的辅助功能可以达到自动“强行停止”的效果。所以,当你***次使用百度手机卫士***版的加速功能时,它会引导用户到辅助功能下面的【百度卫士强效加速】开启相关选项,这以后,用户只需要一次点击就可以实现手机加速了。当然,为了避免误杀,百度还针对应用做了分类,这样那些需要在后台运行的服务则依然可以继续运行,智能杀进程的目标自然也就实现了。
所以,虽然在听到“安全”这个词语时,人们本能的反应或许是忧虑,但解决安全问题其实是件蛮有意思的事情。那些看似无法突破的难题,答案往往隐藏在意想不到的地方。