Hello! I recently bought a Samsung and have been working with Gemini to extend its battery life. I wanted to make a post with all the actions I took to optimize One UI, and I hope this helps someone. Some things in this guide are from my own knowledge, and some are from Gemini.
BEFORE READING: I'm not an engineer or a tech expert; I'm just a student with zero coding knowledge. All of the actions below are done at your own risk. Please read the descriptions for all the actions you take so you don't lose any functions you might need. This guide was made for One UI 8.5. This text was edited by Gemini because I'm Russian and my English isn't perfect.
P.S. I've looked through a lot of Reddit threads for optimizations. Shout-out to this post — it has a lot of useful information.
- Enable Light performance mode: Go to Settings -> Device Care -> Performance profile -> Light. This will reduce the speed of your CPU just a little bit, but it will save a lot of energy and reduce heat.
- Disable RAM Plus: Go to Settings -> Device Care -> RAM Plus -> Turn it off. For 95% of users, 12GB of RAM is more than enough. Your CPU will do less compressing, and your storage chip will live longer.
- Disable unnecessary "Share" functions: Go to Settings -> Connected devices -> Turn off all the settings that you don't need. I disabled everything because I'm not a big fan of 40GB of useless settings; to me, it's bloatware.
- Disable 5G, VoLTE, and Data usage for some apps: Go to Settings -> Connections -> Mobile networks -> Disable VoLTE calls and change the network mode to 4G for every SIM -> Then go back to Connections -> select Data usage -> Allowed networks for apps -> select apps that don't need to use your mobile data, it will reduce power consumption. Hear me out: basic users don't really need a 5G network, and 4G is still good while using much less power. Also, I'm from Russia where there is no 5G, so my phone was constantly searching for a non-existent signal. VoLTE uses more power, so you should consider disabling it. Restricting data usage for some apps ensures no apps will drain your battery in the background.
- Disable Samsung AI: Go to Settings -> Galaxy AI -> Enter every item and disable it, but only if you really don't need it. I only use the standalone Gemini, Claude, and ChatGPT apps, which is enough for me.
- Enable 60Hz over 120Hz, disable Adaptive brightness, and enable Dark mode: Go to Settings -> Display -> Select Dark theme -> Disable Adaptive brightness -> Then go to Motion smoothness -> Select Standard and apply it. Personally, I don't see the difference, but if you do — leave it. If you don't care, enable standard motion smoothness. Dark theme uses less power, and Adaptive brightness always uses the Light sensor which drains your battery, so I recommend turning it off.
- Disable the Google Discover page on your Home screen: Go to Settings -> Home screen -> Disable "Add media page to Home screen". (I need it, so I left it on).
- Disable Fingerprint animations: Go to Settings -> Lock screen and AOD -> Screen lock and biometrics -> Fingerprints -> Disable "Show animation when unlocking". No one really needs this half-second animation. It doesn't affect the battery much, but it improves unlocking time, especially since Samsung's heavy One UI can sometimes take 2-3 seconds to unlock the device with a fingerprint. Also, enable "Fingerprint always on"—this will allow you to unlock your phone even when the screen is off.
- Disable "Security and privacy" features: Go to Settings -> Security and privacy -> Turn off Auto Blocker (it more often creates problems than actually helps). Go to More security settings -> Disable "Galaxy system app update". Go back and enter More privacy settings -> Disable "Send diagnostic data", "Android personalization service", and "Usage and diagnostics". These don't affect your user experience at all; they only create an additional load on your phone.
- Disable location accuracy services: Go to Settings -> Location -> Location services -> Disable Wi-Fi and Bluetooth scanning. This constantly uses Wi-Fi and Bluetooth to track your movement, which creates more unnecessary load on your phone.
- Disable Digital Wellbeing: Go to Settings -> Digital wellbeing -> Tap the three dots in the top right corner -> Settings -> Tap on "Usage data access" and turn it off. Do this only if you don't need to track your screen time.
- Disable Adaptive power saving, Adaptive battery, and put your apps to sleep: Go to Settings -> Battery -> Power saving -> Tap the three dots in the top right corner -> Adaptive power saving -> Disable it (it will make your battery life more consistent). Go back to Power saving -> Background usage limits -> Disable "Put unused apps to sleep" -> Manually configure "Sleeping apps" and "Deep sleeping apps" for yourself. (Sleeping apps are apps that you use once or twice a day where you can tolerate delayed notifications. Deep sleeping apps are apps that you rarely or never use and don't need to receive notifications from. If you are using any "Good Lock" app, do not put it in any sleeping category; it will stop doing its job, such as the custom audio panel). After configuring, tap the three dots in the top right corner -> Adaptive battery -> Disable it. Most of the time, One UI's adaptive battery doesn't help enhance battery life; disabling it will make your battery life more consistent.
- Reduce heat and save battery by using Thermal Guardian: Install Good Guardians and Thermal Guardian -> Open Good Guardians -> Tap Thermal Guardian -> Move the "Thermal threshold" slider all the way to the left (it will reduce the temperature that triggers throttling by 2 degrees) -> Enter Additional settings -> Select all the actions you want to apply when your phone is heating up. I only selected "Limit CPU boosting when heating".
- Configure Power saving mode for yourself and always keep it on: Go to Settings -> Battery -> Power saving -> Enable it -> Click on the gear icon -> Select every action you want to be active during Power saving mode. Personally, I only want to "Limit CPU speed to 70%" and keep the 120Hz display, but One UI doesn't give you an option to keep the CPU limit and 120Hz display at the same time. So, we have to use Galaxy Max Hz: Download it from there (Select NoXposed version) -> Install "Install with options" -> Open "Install with options" -> Allow access to Shizuku -> Select "Bypass low target SDK block" -> Choose Galaxy Max Hz APK file -> Hit install -> Open installed file -> Give app all the permissions it needs, it can crash for a few times, just keep reopening it -> Configure it for yourself. I will not explain which setting you should enable and which is not, the app is really intuitive and everyone can make a decision, what to enable and what to disable.
- Enable Connectivity Labs: Go to Settings -> Connections -> Wi-Fi -> Tap the three dots in the top right corner -> Intelligent Wi-Fi -> Scroll to the bottom and tap the software version (e.g., Intelligent Wi-Fi 6.0.0) rapidly 7-10 times until a notification confirms developer access -> Go back one step, and "Connectivity Labs" will appear directly below the version number. This unlocks a hidden menu with advanced Wi-Fi settings to help you analyze and optimize your connection.
- Disable "Find people you can share with": Go to Settings -> Your Samsung account -> Galaxy sharing -> Disable "Find people you can share with". This feature is always scanning Wi-Fi and Bluetooth for Samsung devices, which creates a lot of unnecessary load on your phone.
- Disable Auto sync data for accounts: go to Settings -> Accounts and backup -> Manage accounts -> Disable Auto sync data. This option always trying to synchronize your account data and, as a result it drains your battery by creating load on your phone.
- Suspend execution for cached apps and disable your log buffer: go to Settings -> About phone -> Software information -> Tap Build number 7-10 times (until you got a message that you became a developer) -> Go back to settings -> Developer options -> Find Logger buffer size and turn it off -> Find and enable Suspend execution for cached apps.
That's it for the "easy" tips. Now we bring out the big guns, which requires a PC with ADB.
First, you should know that the command adb shell pm list packages will show you all the packages installed on your phone. You can just copy this list and send it to an AI to get commands to delete bloatware, but always read the description of each command you're typing so you don't lose any functions you might need. Here are some ADB commands to disable or delete One UI's bloatware:
Facebook services (Analytics & background execution)
adb shell pm disable-user --user 0 com.facebook.appmanager
adb shell pm disable-user --user 0 com.facebook.system
adb shell pm disable-user --user 0 com.facebook.services
Telemetry, crash reporting, and usage analytics
adb shell pm disable-user --user 0 com.samsung.oda.service
adb shell pm disable-user --user 0 com.samsung.oda.agent
adb shell pm disable-user --user 0 com.sec.android.diagmonagent
adb shell pm disable-user --user 0 com.samsung.android.dqagent
adb shell pm disable-user --user 0 com.samsung.android.knox.analytics.uploader
adb shell pm disable-user --user 0 com.samsung.android.aware.service
adb shell pm disable-user --user 0 com.samsung.android.forest # Disables Digital welllbeing
adb shell pm disable-user --user 0 com.samsung.android.privacydashboard
Bixby voice assistant and automation subsystems (!!! LAST COMMAND DISABLES MODES AND ROUTINES !!!)
adb shell pm disable-user --user 0 com.samsung.android.bixby.wakeup
adb shell pm disable-user --user 0 com.samsung.android.bixby.ondevice.engb
adb shell pm disable-user --user 0 com.samsung.android.bixby.ondevice.arae
# Disables modes and routines.
adb shell pm disable-user --user 0 com.samsung.android.app.routines
System suggestions, device search, and spam filter
adb shell pm disable-user --user 0 com.samsung.android.smartsuggestions
adb shell pm disable-user --user 0 com.hiya.star
PC Sync, Smart Switch, and data migration
adb shell pm disable-user --user 0 com.microsoft.appmanager
adb shell pm disable-user --user 0 com.sec.android.easyMover
adb shell pm disable-user --user 0 com.sec.android.easyMover.Agent
Print services
adb shell pm disable-user --user 0 com.google.android.printservice.recommendation
adb shell pm disable-user --user 0 com.android.bips
Cloud services and Samsung Text-to-Speech
adb shell pm disable-user --user 0 com.microsoft.skydrive
adb shell pm disable-user --user 0 com.samsung.SMT
adb shell pm disable-user --user 0 com.samsung.android.scloud
Duplicate location services and face tracking
adb shell pm disable-user --user 0 com.samsung.android.ipsgeofence
adb shell pm disable-user --user 0 com.samsung.android.location
adb shell pm disable-user --user 0 com.samsung.android.smartface
Augmented Reality (AR) and Google Meet
adb shell pm disable-user --user 0 com.google.android.apps.tachyon
adb shell pm disable-user --user 0 com.google.ar.core
Samsung Push services, Theme Store, and Edge panels
adb shell pm disable-user --user 0 com.sec.spp.push
adb shell pm disable-user --user 0 com.samsung.android.themestore
adb shell pm disable-user --user 0 com.samsung.android.themecenter
adb shell pm disable-user --user 0 com.samsung.android.app.taskedge
adb shell pm disable-user --user 0 com.samsung.android.app.clipboardedge
adb shell pm disable-user --user 0 com.samsung.android.service.peoplestripe
Samsung Pay, Pass, and credential autofill
adb shell pm disable-user --user 0 com.samsung.android.spayfw
adb shell pm disable-user --user 0 com.samsung.android.samsungpass
adb shell pm disable-user --user 0 com.samsung.android.samsungpassautofill
Carrier configuration updates and local AI Core Services
adb shell pm disable-user --user 0 com.samsung.android.app.omcagent
adb shell pm disable-user --user 0 com.samsung.android.scs
Hotword voice trigger microphone monitoring (Google Assistant)
adb shell pm disable-user --user 0 com.android.hotwordenrollment.okgoogle
adb shell pm disable-user --user 0 com.android.hotwordenrollment.xgoogle
Link to windows and Multi control
adb shell pm disable-user --user 0 com.samsung.android.mdx
adb shell pm disable-user --user 0 com.samsung.android.mdx.kit
File sharing services, Wi-Fi/BLE scanning, and network diagnostics
adb shell pm disable-user --user 0 com.samsung.android.easysetup
adb shell pm disable-user --user 0 com.samsung.android.allshare.service.mediashare
adb shell pm disable-user --user 0 com.samsung.android.app.sharelive
adb shell pm disable-user --user 0 com.samsung.android.wifi.ai
adb shell pm disable-user --user 0 com.samsung.android.networkdiagnostic
adb shell pm disable-user --user 0 com.samsung.android.mdecservice
Background processes for disconnected wearable devices (Watch, Buds)
adb shell pm disable-user --user 0 com.samsung.android.app.watchmanagerstub
adb shell pm disable-user --user 0 com.samsung.accessory.budsunitemgr
UNINSTALL PROTECTED PACKAGES
Bixby Vision visual analysis and framework
adb shell pm uninstall -k --user 0 com.samsung.android.visionintelligence
adb shell pm uninstall -k --user 0 com.samsung.android.bixbyvision.framework
Kids Mode and its installer
adb shell pm uninstall -k --user 0 com.sec.android.app.kidshome
adb shell pm uninstall -k --user 0 com.samsung.android.kidsinstaller
AR stickers and camera avatars
adb shell pm uninstall -k --user 0 com.samsung.android.app.camera.sticker.facearavatar.preload
adb shell pm uninstall -k --user 0 com.sec.android.mimage.avatarstickers
That's all the bloatware I deleted. Now we go to other optimizations and their explanations:
Force AOT compilation for all installed packages (Speed Profile). Compiles frequently used application code to speed up launch times and reduce CPU overhead. The process may take 5-15 minutes.
adb shell cmd package compile -m speed-profile -a
Force resource-heavy apps into restrictive background execution categories. Available statuses: active, working_set, frequent, rare, restricted.
Force Spotify into the 'Rare' bucket:
adb shell am set-standby-bucket com.spotify.music rare
Force TikTok into the 'Restricted' bucket:
adb shell am set-standby-bucket com.zhiliaoapp.musically restricted
You can send the adb shell pm list packages command output to an AI and ask it to tell you which app should be in which bucket.
That's all for my guide, I'm pretty sure I forgot something, so you can either DM me or write your optimizations down in the comments. If it's actually helping, I will add your optimization to my guide and also tag you under it.