Android Pie dodaje značajku za sprječavanje prekidanja igara s velikim brojem RAM-a ako slučajno izađete

click fraud protection

Android Pie izlazi danas, a jedna od zanimljivih skrivenih značajki je mogućnost sprječavanja prekida rada igara koje imaju veliku količinu RAM-a ako slučajno izađete.

Ranije danas, Google službeno objavljeno Android Pie za Google Pixel i Google Pixel 2. Odmah potom, Essential objavljen ažuriranje Androida 9 za Essential Phone. Ostali uređaji koji su sudjelovali u Android P beta programu uskoro bi trebao dobiti ažuriranje, tako da korisnici koji su preskočili Developer Previews sada imaju puno toga za nadoknaditi. Dok kopamo po najnovijem izdanju uključujući pad izvornog koda na AOSP i najnoviji Dokument definicije kompatibilnosti (CDD), povremeno ćemo vas ažurirati svim novim informacijama koje otkrijemo. Nešto zanimljivo što smo pronašli u CDD-u je odjeljak za "teške" (RAM-ove) aplikacije i igre pri čemu će Android Pie dati prioritet zadržavanju ovih aplikacija u RAM-u ako korisnik slučajno izađe ih.

"Teške" aplikacije i igre u Android Pie

Novi odjeljak je dodan u CDD koji ocrtava ovu značajku. Evo što piše:

3.17. Teške aplikacije

Ako implementacije uređaja deklariraju značajku FEATURE_CANT_SAVE_STATE, tada one:

  • [C-1-1] MORA imati samo jednu instaliranu aplikaciju koja navodi da se cantSaveState izvodi u sustavu u isto vrijeme. Ako korisnik napusti takvu aplikaciju bez izričitog izlaska iz nje (na primjer pritiskom na početnu stranicu dok napušta aktivnu aktivnost sustav, umjesto da pritisne natrag bez ostatka aktivne aktivnosti u sustavu), tada implementacije uređaja MORAJU dati prednost toj aplikaciji u RAM-u kao što to čine za druge stvari za koje se očekuje da će nastaviti raditi, kao što je prednji plan usluge. Dok je takva aplikacija u pozadini, sustav još uvijek može na nju primijeniti značajke upravljanja napajanjem, kao što je ograničavanje CPU-a i pristupa mreži.
  • [C-1-2] MORA osigurati mogućnost korisničkog sučelja za odabir aplikacije koja neće sudjelovati u mehanizmu spremanja/vraćanja normalnog stanja nakon što korisnik pokrene drugu aplikaciju deklariranu s atributom cantSaveState.
  • [C-1-3] NE SMIJE primijeniti druge promjene pravila na aplikacije koje određuju cantSaveState, kao što je promjena performansi CPU-a ili promjena prioriteta u rasporedu.

Ako implementacije uređaja ne deklariraju značajku FEATURE_CANT_SAVE_STATE , onda oni:

  • [C-1-1] MORA ignorirati atribut cantSaveState koji su postavile aplikacije i NE SMIJE mijenjati ponašanje aplikacije na temelju tog atributa.

U osnovi, to znači da, ako uređaj podržava FEATURE_CANT_SAVE_STATE značajku, tada moraju dati prioritet zadržavanju u RAM-u pokrenute aplikacije koja navodi cantSaveState atribut. Ovo određivanje prioriteta RAM-a počinje ako korisnik izađe iz aplikacije ili igre pritiskom na tipku početne stranice ili napuštanjem aplikacije ili igre bez izričitog izlaska iz nje (kao pritiskom tipke za povratak ili gumb za izlaz.) Nadalje, sustav i dalje može štedjeti energiju ograničavanjem CPU-a i pristupa mreži tim aplikacijama, ali one jednostavno ne mogu osloboditi RAM tako što će ih ubiti, osim ako nije potrebno. Na kraju, imajte na umu da je dopušteno pokretanje samo jedne aplikacije s definiranim atributom cantSaveState. Ako pokušate pokrenuti drugu aplikaciju s ovim definiranim atributom dok je druga pokrenuta, Android Pie će od vas tražiti da odaberete koju igru ​​želite nastaviti izvoditi.

Možete provjeriti podržava li vaš uređaj FEATURE_CANT_SAVE_STATE pokretanjem sljedeće dvije naredbe putem ADB-a:

adb shell
dumpsys package | grep "cant_save_state"

Da biste provjerili navodi li aplikacija atribut cantSaveState, trebat će dekompilirati aplikaciju i pogledati njezin manifest ili upotrijebiti dumpsys package package.name.here naredba u ADB ljusci. Imajte na umu da je ovaj atribut tek dodan u API razini 28 (Android 9 Pie), tako da je malo vjerojatno da će mnoge aplikacije ili igre to još iskoristiti.

Ova će značajka biti nevjerojatno korisna za uređaje s malom količinom RAM-a i/ili aplikacijama koje gutaju tonu RAM-a. Na primjer, Fortnite Mobile na Androidu zahtijeva minimalno 3 GB RAM-a zbog toga koliko RAM-a troši (bez pokretanja igre, Fortnite Mobile je rezervirao 1,6 GB RAM-a na mom Google Pixel 2 XL.) Ako bi Fortnite ciljao na SDK razinu 28 i koristite ovu značajku, to znači da će slučajni izlazak iz igre spriječiti da se ona odmah ugasi ako je vaš uređaj pri kraju slobodan RAM. Nažalost, Fortnite cilja samo SDK razinu 21 u ovom trenutku (Android 5.0 Lollipop) tako da nažalost ne iskorištava prednosti najnovijih API-ja koje Google nudi u Android Pie, a kamoli Android Oreo, Android Nougat ili Android Marshmallow. Nadamo se da će se druge igre ažurirati kako bi iskoristile ovu značajku. Do sljedeće godine, Google će ih zahtijevati za ažuriranje ako žele moći nastaviti slati ažuriranja u Trgovini Google Play.