Az Android Pie ma jelenik meg, és az egyik menő rejtett funkció az, hogy megakadályozza, hogy a nagy RAM-ot használó játékok elpusztuljanak, ha véletlenül kilépsz.
Ma korábban a Google hivatalosan bejelentették Android Pie a Google Pixel és a Google Pixel 2 számára. Közvetlenül utána, Az Essential megjelent az Android 9 frissítés az Essential Phone-hoz. Egyéb eszközök, amelyek részt vettek Az Android P béta programban hamarosan meg kell kapnia a frissítést, így azoknak a felhasználóknak, akik kihagyták a Fejlesztői előnézeteket, most sok tennivalójuk van. Ahogy beleásunk a legújabb kiadásba, beleértve a forráskód drop az AOSP-n és a legújabb Compatibility Definition Document (CDD) alapján rendszeresen frissítjük az általunk feltárt új információkkal. Valami érdekeset találtunk a CDD-n: a "nehézsúlyú" (RAM-mal erős) alkalmazások és játékok része. ahol az Android Pie előnyben részesíti ezen alkalmazások RAM-ban tartását, ha a felhasználó véletlenül kilép őket.
„Nehézsúlyú” alkalmazások és játékok az Android Pie-ben
Új szekcióval bővült a CDD amely felvázolja ezt a tulajdonságot. Íme, mit mond:
3.17. Nehézsúlyú alkalmazások
Ha az eszközmegvalósítások deklarálják a FEATURE_CANT_SAVE_STATE funkciót, akkor:
- [C-1-1] Csak egy telepített alkalmazással KELL rendelkeznie, amely meghatározza, hogy a cantSaveState egyszerre fut a rendszerben. Ha a felhasználó anélkül hagyja el az alkalmazást, hogy kifejezetten kilépne belőle (például a kezdőlap megnyomásával, miközben egy aktív tevékenységből kilép a rendszerből, ahelyett, hogy visszanyomná aktív tevékenységek a rendszerben), akkor az eszközmegvalósításoknak prioritást KELL megadniuk az alkalmazásnak a RAM-ban, ahogyan más, várhatóan futásban maradó dolgoknál is, például az előtérben. szolgáltatások. Amíg egy ilyen alkalmazás a háttérben működik, a rendszer továbbra is alkalmazhat rá energiagazdálkodási funkciókat, például korlátozhatja a CPU- és a hálózati hozzáférést.
- [C-1-2] KELL biztosítani a felhasználói felületet annak az alkalmazásnak a kiválasztásához, amely nem vesz részt a normál állapotú mentési/visszaállítási mechanizmusban, miután a felhasználó elindít egy második, cantSaveState attribútummal deklarált alkalmazást.
- [C-1-3] NEM SZABAD alkalmazni más házirend-módosításokat olyan alkalmazásokra, amelyek cantSaveState értéket adnak meg, például a CPU teljesítményének megváltoztatását vagy az ütemezési prioritás módosítását.
Ha az eszközmegvalósítások nem deklarálják a funkciót FEATURE_CANT_SAVE_STATE , aztán ők:
- [C-1-1] KELL figyelmen kívül hagynia az alkalmazások által beállított cantSaveState attribútumot, és NEM SZABAD módosítani az alkalmazás viselkedését ezen attribútum alapján.
Ez alapvetően azt jelenti, hogy ha egy eszköz támogatja a FEATURE_CANT_SAVE_STATE funkciót, akkor prioritásként kell kezelniük a RAM-ban azt a futó alkalmazást, amely meghatározza a cantSaveState tulajdonság. Ez a RAM-prioritizálás akkor lép életbe, ha a felhasználó a kezdőlap gomb megnyomásával lép ki az alkalmazásból vagy a játékból, vagy anélkül hagyja el az alkalmazást vagy játékot, hogy kifejezetten kilépne belőle (például a vissza gomb megnyomásával). vagy egy kilépés gombot.) Ezenkívül a rendszer továbbra is energiát takaríthat meg a CPU és a hálózati hozzáférés korlátozásával ezekben az alkalmazásokban, de egyszerűen nem szabadíthatnak fel RAM-ot azáltal, hogy megölik őket, hacsak nem szükséges. Végül vegye figyelembe, hogy csak egy, a cantSaveState attribútummal rendelkező alkalmazás futhat. Ha egy másik alkalmazást próbál elindítani ezzel az attribútummal, miközben egy másik fut, az Android Pie meg fogja kérni, hogy válassza ki, melyik játékot szeretné folytatni.
A következő két parancs ADB-n keresztüli futtatásával ellenőrizheti, hogy eszköze támogatja-e a FEATURE_CANT_SAVE_STATE-t:
adb shell
dumpsys package | grep "cant_save_state"
Annak ellenőrzéséhez, hogy egy alkalmazás megadja-e a cantSaveState attribútumot, vissza kell fordítani az alkalmazást, és meg kell nézni a jegyzékét, vagy a dumpsys package package.name.here
parancsot az ADB shellben. Ne feledje, hogy ezt az attribútumot csak most adták hozzá az API 28-as szintjén (Android 9 Pie), így nem valószínű, hogy sok alkalmazás vagy játék még kihasználja ezt.
Ez a funkció hihetetlenül hasznos lesz a kis mennyiségű RAM-mal rendelkező eszközöknél és/vagy olyan alkalmazásoknál, amelyek rengeteg RAM-ot fogyasztanak. Például a Fortnite Mobile Androidon minimum 3 GB RAM-ot igényel mert mennyi RAM-ot fogyaszt (anélkül, hogy játékot indított volna, a Fortnite Mobile 1,6 GB RAM-ot foglalt le a Google Pixel 2 XL-emen.) Ha a Fortnite az SDK-t célozza meg 28-as szinten, és használja ezt a funkciót, akkor ez azt jelenti, hogy a játékból való véletlen kilépés remélhetőleg megakadályozza, hogy azonnal meghaljon, ha az eszköz lemerül ingyenes RAM. Sajnos a Fortnite csak a 21-es SDK-szintet célozza meg jelenleg (Android 5.0 Lollipop), így sajnos nem használja ki a Google által az Android Pie-ben kínált legújabb API-kat, nem beszélve az Android Oreo-ról, az Android Nougat-ról vagy az Android Marshmallow-ról. Remélhetőleg más játékok is frissülnek, hogy kihasználják ezt a funkciót. Jövőre a Google szükség lesz rájuk frissíteni, ha folytatni akarják a frissítések beküldését a Google Play Áruházban.