mobilegamedevandroidfragmentationregression

Android fragmentation for a mobile game — what MIUI, One UI, EMUI, and Oppo/Vivo battery savers break

“Works on Pixel, crashes on Xiaomi, different bugs on Samsung, no Google Play on Huawei at all — what are we even testing?” — a typical 2026 conversation in a mobile-game team. Android fragmentation in 2026 didn’t “fade with time” as promised — it got worse. OEM mods moved further from AOSP, each has its own aggressive battery saver, custom permissions, separate notification stacks.

This guide is what actually breaks in a mobile game on the top-6 OEMs (Xiaomi, Samsung, Huawei, Oppo, Vivo, OnePlus), how to test without buying 30 devices, and what to put in an Android-fragmentation bug report. The baseline reference for “who kills whom” — the community database dontkillmyapp.com.

Why fragmentation in 2026 is worse than in 2018

  • OEM mods drifted even further from AOSP. MIUI on Android 14 has 200+ customisations, ColorOS — about 150.
  • Aggressive battery savers — the standard everywhere except Pixel and Motorola. Killing apps in the background after 30–60 seconds is typical behavior.
  • Huawei after sanctions — a separate ecosystem: HarmonyOS NEXT, HMS instead of GMS, AppGallery instead of Play. Not “Android with a different launcher” — a different stack.
  • Chinese-market Android devices ship without Google Services at all — a separate QA front for teams targeting CN.
  • Foldables, dual-screen, under-display cameras — new form factors add visual regressions.

The big six OEMs and their specific problems

Xiaomi MIUI / HyperOS

  • Autostart permission — a separate permission “allow the app to start in the background”. OFF by default. Without it FCM pushes don’t arrive, background music drops. Test: Settings → Apps → Permissions → Autostart → verify on for your game.
  • Background restrictions — even with autostart, MIUI kills background processes after 30 seconds unless the app is in the Memory & Battery whitelist.
  • MIUI Optimization — a flag in Developer Options. Enabled by default, aggressively kills background. Some bugs only reproduce when it’s on.
  • Notification quirks — Notification Channels work, but MIUI adds its own notification importance that can override the Android level.
  • Game Turbo — MIUI changes the CPU governor and memory allocation for games. Can break perf tests because everything is fast in Turbo, slow without it.

Samsung One UI

  • Device Care → Sleep apps — Samsung automatically moves “rarely used” apps to Deep Sleep, stopping background tasks. A problem for daily-engagement games and push notifications.
  • Edge Panel — conflicts with game edge gestures (open menu, volume slider). Test with Edge Panel on and off.
  • S Pen — on Note/Ultra devices the S Pen generates hover/click events. The game must handle air gestures and hover state correctly.
  • Game Booster — Samsung equivalent of Game Turbo. Same perf effects plus automatic Do Not Disturb.
  • Folding (Z Fold/Flip) — multi-window, app continuity on unfolding, different resolutions inside and out.

Huawei EMUI / HarmonyOS NEXT

  • No Google Mobile Services — FCM doesn’t work. Use HMS Push Kit. HMS docs. That means two integrations and two test suites.
  • AppGallery instead of Play — different billing, different review procedure. IAP tests have to be re-run end-to-end.
  • App Twin — Huawei can clone the app for a second account. The game must run as two instances simultaneously (separate save files, separate logins).
  • HarmonyOS NEXT (since 2024) — no longer Android. Apps may not run at all; a separate ArkTS build is required. If the CN market matters — a separate QA track.

Oppo ColorOS / Vivo OriginOS

  • The most aggressive battery saver on the market. Per dontkillmyapp.com — kills apps faster than Xiaomi, and without an explicit “Allow background activity” permission nothing works in the background.
  • ColorOS Game Space — an analogue of Game Turbo, custom shortcuts (screen recording, game-mode screenshot).
  • Non-standard system dialogs — Oppo/Vivo like to show custom popups on top of system ones. Test the permission flow with the real OEM dialog, not AOSP.
  • Realme — ColorOS-based, so the same problems. Plus on budget devices, memory pressure (3–4 GB RAM).

OnePlus OxygenOS (post-Oppo merger)

  • In 2021–2023 OxygenOS was rebased on ColorOS code. Now effectively an Oppo clone with a different UI.
  • All ColorOS problems are inherited: aggressive battery, custom permissions.
  • Older OnePlus (5T, 6, 7) on the original OxygenOS — a separate edge case, still in circulation.

What actually breaks in a mobile game

1. Push notifications

FCM only works by default if the app has the autostart permission. On Xiaomi/Oppo/Vivo users usually don’t grant it. Result — pushes don’t arrive, daily retention drops. On Huawei FCM doesn’t work at all — HMS Push Kit is required. See Android Notification Channels — though OEMs can override importance.

2. Background music and audio

The game is backgrounded — music should keep playing (if enabled in settings) or pause cleanly. On OEMs with aggressive battery the soundtrack cuts after 30–60 seconds and doesn’t resume on return. Test: minimise → 2 minutes → restore.

3. Long sessions and thermal throttling

MIUI Game Turbo, Samsung Game Booster, Vivo Ultra Game Mode — all change the CPU/GPU governor. With Turbo, the game flies; without (e.g. on Vivo backgrounded), fps drops 2–3×. Perf regression must run in both modes.

4. In-app purchase — different billing on Huawei

Google Play Billing only works if Play Store is installed. On Huawei you need AppGallery billing. Two parallel integrations, two receipt-validation sets on the backend, two UX flows to test.

5. Permission UX

MIUI requires both a runtime permission (Android standard) and a MIUI-level autostart. Vivo requires runtime plus “Allow background activity” in separate Battery settings. The “please grant permissions” onboarding must handle both levels — otherwise the user grants runtime and background tasks still don’t work.

6. Deep links and shortcuts

Xiaomi has “MIUI App Shortcuts” that respond to adaptive icons differently. On Samsung the Edge Panel may intercept deep links. Test opening the game from push, from a shortcut, from a browser link, from a messenger share — on every OEM.

7. Foldable / dual-screen

Galaxy Z Fold / Flip: the game must handle configuration changes on unfold correctly. Save battle/level state, re-init UI for the new resolution. Multi-window on top of the game must not crash gameplay.

A test strategy that doesn’t require 30 devices

Minimum real-hardware QA lab

  • Pixel (current) — AOSP baseline.
  • Samsung Galaxy (current flagship + a 2–3-year-old midrange) — One UI quirks.
  • Xiaomi (current + a budget Redmi) — MIUI/HyperOS quirks.
  • Huawei (without GMS) — separate HMS-integration regression.
  • Oppo or Vivo (budget) — aggressive battery saver, low RAM.
  • OnePlus (current) — OxygenOS on a ColorOS base.
  • Foldable (Z Fold or Z Flip, or Pixel Fold) — for the unfolding configuration.

That’s 7 devices. Minimum for a team targeting EU/global. For a CN focus, add more Vivo and Oppo.

Cloud device farms

  • Firebase Test Lab (firebase.google.com/docs/test-lab) — limited device pool, but real. Free tier for smoke.
  • BrowserStack App Live (browserstack.com/app-live) — 3000+ real devices, manual sessions.
  • Sauce Labs Real Device Cloud — similar to BrowserStack plus Appium integration.
  • AWS Device Farm — cheaper in the Amazon ecosystem, fewer Chinese devices.
  • Kobiton, Headspin — niche, may carry rare OEMs.

The catch: cloud farms often lack recent Chinese devices with real OEM mods. For a CN release you can’t avoid a local QA lab.

What does NOT replace real devices

  • Local emulators (AVD) — show AOSP behavior, not OEM quirks. You can’t reproduce MIUI Battery Saver on an emulator.
  • Genymotion — better UI than AVD, but still not real MIUI.
  • BlueStacks / NoxPlayer — Android on desktop, fine for gameplay, not for system bugs.

Android fragmentation testing checklist

  • Push arrives on Xiaomi with autostart OFF and autostart ON.
  • Push arrives on Huawei via HMS Push Kit (separate build / integration).
  • Background music keeps playing ≥ 5 minutes after backgrounding on Oppo / Vivo / Xiaomi.
  • Game perf doesn’t drop > 20% between Game Turbo ON / OFF (Xiaomi, Samsung, Oppo).
  • IAP works via Google Play Billing (all devices) AND AppGallery Billing (Huawei).
  • Permission tutorial accounts for MIUI Autostart and Vivo Allow Background.
  • Deep links open the game from push, browser, shortcut, share — on all 6 OEMs.
  • On foldable: unfolding preserves battle/level state, re-inits UI without crashes.
  • On a budget Realme/Redmi with 3–4 GB RAM: the game doesn’t crash on low memory and isn’t killed by OOM-killer.
  • Push notification channels are configured and working on Android 8+ across all OEMs.
  • Notification importance on MIUI isn’t auto-downgraded to Low.
  • The bug report contains OEM name + OS version + OS-skin build (MIUI 14.0.5, One UI 6.1) + autostart/battery state.

Mandatory fields in an Android bug report

  • Not “Android 14” but Android 14, MIUI 14.0.5, HyperOS 1.0.4.0.UMQCNXM.
  • State of MIUI Optimization / Game Turbo / Battery Saver at the time of the bug.
  • Autostart permission state for the app.
  • Device RAM + free RAM at the time of the bug (matters for budget devices).
  • Region (CN devices may behave differently due to regulatory requirements).

Android fragmentation isn’t a “future problem”, it’s the operational reality of 2026. Teams that test only on Pixel or emulators release blind to 70% of the global Android market. A minimum of 6 real OEMs in the QA lab + a cloud farm for the long tail — that’s baseline hygiene for a mobile game in 2026.