讓Android系統(tǒng)殺進程更智能這件事,不用root就能實現(xiàn)了
如果你是一位Android愛好者,或許還記得PingWest曾經(jīng)提到過的關(guān)于如何讓殺進程更智能的問題。當(dāng)時,我們只是談到安全行業(yè)在嘗試解決這樣的難題,而現(xiàn)在答案已經(jīng)有了。
如果你使用的是已經(jīng)Root過的Android手機,或許這些問題并不會讓你困擾,因為市面上安全軟件在拿到Root權(quán)限后基本都可以有效的解決程序后臺自動啟動的問題。但對于多數(shù)Android用戶來說,他(她)們不會去主動Root自己的手機,甚至不知道Root是什么,這個情況下,如何去解決讓殺進程更加智能的問題?
在給出答案之前,為了讓讀者都能看懂這個功能是怎么運轉(zhuǎn)的,我首先對Android系統(tǒng)的后臺特性做一些說明。
百度移動安全部***產(chǎn)品架構(gòu)師阮龍告訴PingWest,用戶之所以會覺得Android手機運行慢、耗電快主要是由于程序占用了太多的內(nèi)存和CPU這兩個原因?qū)е碌模@其中的“程序”又可以分為三部分:有UI界面,用戶可以交互的Activity、沒有UI界面但會在后臺運行的Services和接收別人通知的一個機制Receiver。
當(dāng)用戶不再和Activity交互后,Android系統(tǒng)會在運存不足的情況下自動終止Activity,但Services可能依然在后臺運行。一開始,安全軟件中的一鍵加速功能一般都是把Activity和Services殺掉,不過Receiver還在。
所以,對于安全軟件來說,只要你能在不Root的情況下,同時殺掉Activity、Services和Receiver,那么自然也就解決了智能殺進程的問題,也解決了Android手機卡頓和耗電的問題。
那么接下來的問題就是怎么同時殺掉Activity、Services和Receiver?
如果你去Android系統(tǒng)中的設(shè)置—應(yīng)用—應(yīng)用信息頁面看過的話,那上面有個“強行停止”按鈕,在Android 4.0以后的系統(tǒng)中,這個按鈕就可以讓你一次點擊同時殺掉Activity、Services和Receiver。
我在一部運行Android 5.0的Nexus 4上進行了測試,用這種方式殺掉某個應(yīng)用后,即使過了一個晚上的時間,它也不會自動在后臺重啟。不過Google系的應(yīng)用并不會受到限制,即使被“強行停止”,它們一樣可以自動啟動。
鑒于中國大陸大部分的Android手機都沒有Google服務(wù),所以只要能用“強行停止”的方式殺掉那些不必要的程序,即使沒有Root權(quán)限,也能解決Android手機的卡頓、耗電的問題。
最開始,百度手機衛(wèi)士給出的方法是讓用戶手動點,如果你要殺掉10個應(yīng)用的話,可能需要點20多次,這明顯是個很讓人崩潰的過程,所以在4月份左右的時候,他們也在想有沒有可能用批量的方式自動幫用戶完成這個點擊過程。
在實驗了各種可能性之后,百度手機安全團隊發(fā)現(xiàn)通過調(diào)用Android系統(tǒng)中的輔助功能可以達到自動“強行停止”的效果。所以,當(dāng)你***次使用百度手機衛(wèi)士***版的加速功能時,它會引導(dǎo)用戶到輔助功能下面的【百度衛(wèi)士強效加速】開啟相關(guān)選項,這以后,用戶只需要一次點擊就可以實現(xiàn)手機加速了。當(dāng)然,為了避免誤殺,百度還針對應(yīng)用做了分類,這樣那些需要在后臺運行的服務(wù)則依然可以繼續(xù)運行,智能殺進程的目標自然也就實現(xiàn)了。
所以,雖然在聽到“安全”這個詞語時,人們本能的反應(yīng)或許是憂慮,但解決安全問題其實是件蠻有意思的事情。那些看似無法突破的難題,答案往往隱藏在意想不到的地方。