There is a special flavour of frustration reserved for this bug: your emulator runs perfectly while you are playing, but the frontend that organises your library keeps getting killed, your artwork downloads restart from zero, your controller re-pairing helper vanishes from memory, and games launched from the frontend occasionally open to a black screen. Below, you will disable battery optimization gaming frontend android setups are strangled by, brand by brand. You need to disable battery optimisation restrictions for gaming frontends on Android, because frontends are exactly the kind of app Android’s battery system is designed to strangle: they run in the background, wake other apps, poll storage, and hold services open — all behaviours Doze and app standby punish by default. This guide gives the exact exemption paths per brand and explains which parts of the stack actually need the exemption.
Understand What Is Killing Your Frontend
Three separate systems are involved, and fixing only one is why many attempts fail:
- Doze and App Standby (stock Android): defers background work for apps not on the battery-optimisation exemption list.
- OEM battery managers: Samsung, Xiaomi, Oppo, OnePlus, Huawei, and others run a second, more aggressive layer with its own per-app settings. This layer ignores the stock exemption on some brands unless set separately.
- Background launch restrictions: frontends launch emulators; some OEM skins block activity launches from backgrounded apps unless the frontend is exempted and autostart is allowed.
Symptoms map to systems: artwork/scraper jobs dying overnight is Doze; the frontend being unloaded from memory minutes after switching away is the OEM manager; tap-a-game-and-nothing-happens is launch restriction. Diagnose which you have before changing everything at once. The same OEM managers are behind several faults in mid-session frame drops, where they release deferred work in bursts.

Disable Battery Optimization Gaming Frontend Android Restrictions: Paths per Brand
Stock Android / Pixel
Settings > Apps > [frontend] > App battery usage > Unrestricted. Alternatively Settings > Apps > Special app access > Battery optimisation, find the app, choose “Don’t optimise.” Apply to the frontend (Daijisho, Beacon, Pegasus, or whichever you use) and, if you use one, its companion scraper/sync app.
Samsung One UI
Settings > Apps > [frontend] > Battery > Unrestricted — then also visit Settings > Battery and device care > Battery > Background usage limits > Never sleeping apps, and add the frontend there. Samsung maintains that second list independently; skipping it is the classic reason “I already disabled optimisation” does not work on Galaxy phones.
Xiaomi / Redmi / Poco (MIUI & HyperOS)
Settings > Battery > [frontend] > No restrictions. Then open the Security app > Battery, and in the app’s info page enable Autostart. On MIUI/HyperOS, autostart is frequently the missing piece for frontends that must relaunch cleanly after a reboot or a memory purge.
Oppo / OnePlus / Realme (ColorOS & OxygenOS)
Settings > Battery > [frontend] > allow background activity / “Don’t optimise,” plus Settings > Apps > Startup manager (or the Battery section’s autostart toggle) to permit auto-launch. On OnePlus, also lock the frontend in the Recents screen (three-dot menu > Lock) so the memory cleaner leaves it alone.
The Emulators Themselves
Frontends are the priority, but give the same exemption to any emulator that Android kills mid-session (rare while foregrounded, common when you briefly switch away to check a message). This pairs with Game Mode configuration, which on several brands applies its own battery behaviour to listed apps.
What About the Recents-Lock and “Phantom Process Killer”?
Android 12 introduced a phantom process killer that terminates apps spawning too many child processes — it historically broke terminal apps and some sync tools that frontends rely on. On affected devices, the observable symptom is a helper process dying repeatedly with no battery setting explaining it. The Developer Options toggle “Disable child process restrictions” (Android 13+ on supported devices) addresses it. Treat this as a last resort after the standard exemptions, and note it in your settings log — future-you will not remember why it is on.
For the wider diagnostic context, the Performance Fixes index organises the companion guides, and scoped storage crashes covers the other great frontend-killer of modern Android: file access.
All figures are estimates based on typical titles and stock settings; individual games vary widely.
Confirming the Exemption Worked
Set up the exact scenario that failed before: start an artwork scrape or leave a game suspended via the frontend, lock the phone, and wait — an hour for Doze symptoms, overnight for the full cycle. Success means the frontend is still resident, the scrape completed, and launching a game from the frontend behaves identically to launching it directly. If the frontend survives but launches still fail, you are looking at launch restrictions or storage permissions, not battery at all — switch guides accordingly.
Frontend-Specific Notes
Daijisho is the most common victim: its widgets, sync, and scraping run as background work that Doze defers aggressively, so the classic report is artwork that only updates while the app is open. Exempt it at both layers on Samsung and Xiaomi devices, and enable autostart on MIUI/HyperOS. Beacon and Pegasus are lighter and more launch-focused; their typical failure is being purged from memory so the next launch is a cold start with a library rescan — the Recents-lock trick on OnePlus and the “Never sleeping apps” list on Samsung address this directly. ES-DE and similar ports inherit the same rules; any frontend that maintains a background service for controller detection or sync should be treated as a two-exemption app (frontend plus its helper). RetroArch itself, when used as its own frontend via playlists, rarely needs exemption while foregrounded, but its background shader-compilation and thumbnail downloads benefit from the same treatment if you let them run with the screen off. Finally, note the Android 14 wrinkle: newer versions tightened background activity launches further, so a frontend that worked on Android 12 can start failing on 14 with identical settings — re-verify grants after the upgrade rather than assuming the frontend broke.
A Standing Maintenance Habit
Battery exemptions are set-and-forget until they are not: system updates, frontend updates, and even switching battery-saver routines can quietly reset them. Add a thirty-second check to your post-update routine — open the exemptions list, confirm your frontend and main emulators are still listed, done. Almost every “it broke again for no reason” report in this category resolves to a reset that this habit would have caught.
Frequently Asked Questions
Will disabling battery optimisation drain my battery?
For a frontend, negligibly. Frontends are light apps; the exemption stops the system from killing them, but they are not suddenly doing heavy background work. The drain horror stories concern exempting social and messaging apps with constant sync. Exempt deliberately, app by app.
I set “Unrestricted” but Samsung still kills my frontend. What did I miss?
Almost certainly the second list: Settings > Battery and device care > Battery > Background usage limits > Never sleeping apps. One UI enforces sleeping-app lists independently of the per-app battery setting, and both must agree before the app survives.
Do I need to exempt every emulator too?
Only emulators you have actually observed being killed — typically when switching away mid-session. An emulator in the foreground is not a battery-optimisation target. Exempt the frontend first, test, and add emulators only based on evidence.
Why does my frontend work for days, then break after an update?
OEM updates sometimes reset per-app battery choices to defaults, and frontend updates occasionally change the process model. After any system update, re-verify the two or three exemptions that matter to you. It takes a minute and prevents a confusing evening.
What is autostart and why does Xiaomi need it?
Autostart permission lets an app start itself after boot or after being cleared, without you opening it manually. MIUI and HyperOS block this by default for most apps, which breaks frontends and sync helpers that expect to relaunch. Grant it per app in the Security app or app info page.


