如何使用 Android 7 新增功能阻止 App 的相互喚醒?
背景:
Android 7.0新增了一個AppOps項:RUN_IN_BACKGROUND,可以用來限制指定APP的後台行為,具體說明如下:
- https://developer.android.com/topic/performance/background-optimization.html
- Android 7的新AppOps項:RUN_IN_BACKGROUND到底做了什麼 - ff FF的文章 - 知乎專欄
問題:
如何使用該功能限制APP的後台行為?對於國產毒瘤實際效果如何?
本答案不再維護,更新內容移至專欄【Android 7.0專享】沒Root如何限制APP後台喚醒? - 白兔Jack的文章 - 知乎專欄「不需要ROOT」「必須是Android 7.0」「不需要ROOT」「必須是Android 7.0」「不需要ROOT」「必須是Android 7.0」*****************************************************方法概述:在未ROOT的Android 7.0上,為減少卡頓,增加續航,可以:1、使用綠色守護,自動殺滅指定後台進程
2、使用adb命令,限制APP後台自動喚醒
同時使用以上兩條方法,可達到較好效果。*****************************************************綠色守護:推薦「全自動化休眠」,可在屏幕關閉後,自動殺滅指定後台進程。若使用「指紋解鎖」,請選擇「特殊方式關屏」,並按提示完成相應設置。以上功能不需要ROOT。下載地址:Greenify綠色守護(com.oasisfeng.greenify)_3.0 build 1_Android應用
*****************************************************限制後台喚醒:第一步:準備工作a、電腦安裝 ADBb、電腦安裝universal Android USB driverc、手機開啟USB調試以上準備已足夠,若遇到問題,可參考:How to grant permissions required by some features on non-root device?
第二步:輸入命令打開CMD或Poweshell,輸入如下命令$ adb shell cmd appops setRUN_IN_BACKGROUND ignore
舉例如下:限制手機百度adb shell cmd appops set com.baidu.searchbox RUN_IN_BACKGROUND ignore限制支付寶adb shell cmd appops set com.eg.android.AlipayGphone RUN_IN_BACKGROUND ignore以上命令,可限制指定APP後台自動喚醒。一般與「綠色守護」綠色化列表保持一致即可,不需要對全部APP都設置。
該命令僅適用於Android 7.0。*****************************************************「操作方法已經講完」「以下是補充內容」「操作方法已經講完」「以下是補充內容」「操作方法已經講完」「以下是補充內容」*****************************************************
常見問題:一、如何查看APP的package_name?方法A(推薦):手機信息大全:Android System Info(com.electricsheep.asi)_1.26.2_Android應用方法B:輸入以下命令,列出所有第三方APP的包名,拷貝即可adb shell "pm list packages -3"二、如何還原RUN_IN_BACKGROUND狀態?輸入下面命令,即可還原
$ adb shell cmd appops setRUN_IN_BACKGROUND allow
*****************************************************RUN_IN_BACKGROUND的作用理論:當把一個應用的RUN_IN_BACKGROUND設為ignore之後:
1,應用在AndroidManifest.xml註冊的用於接收隱式廣播的receiver都會失效,換個方向就是說隱式廣播無法啟動這個應用了
2,應用不能啟動Service(不包括通過bindService綁定的Service)。現有的後台Service(不包括前台Service)在一分鐘後會被系統殺掉。
3,應用註冊的alarm/job/sync全部沒有了,也不能再註冊了
參考:
Android 7的新AppOps項:RUN_IN_BACKGROUND到底做了什麼 - ff FF的文章 - 知乎專欄
實測:美團系:- 可以阻止美團、大眾點評、貓眼之間的互相喚醒。
- 不能阻止大眾點評自動喚醒(JobService),但喚醒頻率很低。
阿里系:
- 可以大幅減少阿里系後台喚醒:
- 不能阻止支付寶喚醒高德地圖(AMapService);
- 不能阻止飛豬喚醒支付寶 (Authenticated);
百度系:
- 不能阻止百度系(ShareService)相互喚醒;
- 不能阻止Uber被百度系喚醒(RegistrationReceiver);
其它:
- 不能阻止Bilibili自動喚醒(JobService),但喚醒頻率很低。
- 對豆瓣、網易等APP效果明顯;
總結:
該方法可阻止大多數後台喚醒。
沒卵用,我葉良辰有一百種方法讓我的APP賴在你的內存里不走
買一個iPod touch專門收信息用。。。
原生安卓有個個功能叫添加用戶,就在下拉通知欄上的那個小人點進去,一開始有Guest和你自己的賬號。你可以用相同的賬號登錄,在不用用戶桌面安裝不用等APP。然後你就可以隨意裝APP了,你可以創建各種全家桶用戶,不用的時候不要切換到那個用戶里。因為你的常用用戶沒有安裝全家桶,也就不存在喚醒的說法。
希望谷歌不要增加一個「探測是否被綠化」的介面,不然又會像6.0的許可權管理一樣,不給不讓用。
國內外各大毒瘤:我就是針對谷歌,我要說,你的機制就是辣雞不要以為這東西就能治毒瘤果然還是……買個ipod專門裝毒瘤
沒有毒瘤的android真是清靜匿名用戶的新建用戶方法,經測試發現雖然應用不會在主用戶相互喚醒,但是另外一個用戶的進程一樣會留在後台佔用內存。。我也不知道什麼情況,系統是索尼c6802的歐版的5.1.1,看最下面。
我的EMUI自帶這個哎
除非你不用國內的app,否則各種喚醒各種後台駐留原生系統管不了的
三星S8,現在絕是流氓APP的剋星了。因為裡面有個叫安全文件夾的東東,類似WINDOWS的沙盒。不但與主系統完全隔離,裡頭使用的APP, 還能輕鬆地建立快捷方式,放在主屏上。隨時輕鬆點進去,隨時使用。
下圖是我手機的兩個微信。最左邊是沙盒微信的快捷方式,最右邊是主系統的微信。
三星沙盒官方簡介
可以試下
推薦閱讀:
※有哪些比較實用又有格調的 App?
※Android 平台有哪些對大屏幕支持很好的應用?
※為什麼 「WiFi 萬能鑰匙」突然成了眾矢之的?
TAG:Android應用 | Android | Android流氓應用 | AndroidN |