[General Questions and Answers] Lusty Rugnuts:
In Settings > Developer Options > Inactive apps, you can set an app to be inactive, which puts the app into App Standby and prevents it running when Doze Mode is enabled. When you run those inactive apps manually, they'll be removed from the App Standby list.

There are limitations, of course... Google's apps can't be put into App Standby from the user interface.

You can do the same programmatically (and since you've got SuperUser privileges, you can also put Google's apps into App Standby). I've created a batch script (to be run from a Windows Administrator-privilege command prompt, with your phone plugged into the computer via USB).

I've set up my batch file to kill all the remaining Google components I want killed... you'll have to edit the file to kill whatever apps you want killed.

The settings don't stick across reboots, so you'll have to run the batch file again after each reboot. I'm researching a way to do this completely on the phone via a shell script, so no computer is necessary.

The Deep Doze mode remains on, even if you've got the screen on, even if you've got the phone plugged into USB, even if you unplug and re-plug USB. I've noticed no difference in performance from this, but it does help save battery... I ran the phone yesterday afternoon while playing podcasts and with the bluetooth and cell radios enabled (but without cellular data), screen off the whole time, and for the 4 hours I was out and about, it dropped only 8% battery.

The only side-effect I've noticed from the script is that as the Google components are being killed, my podcast app stops playing the podcast its playing. It doesn't force-close or anything, it just pauses the podcast... its got ties into com.google.android.webview (for serving ads, although I've got all ads disabled) and com.google.android.gms (for Google Analytics, although I've got Google Analytics completely disabled). After I restart it playing, it's fine. I'm still trying to figure out how to prevent the podcast app from tying into the other two apps. After killing the other two apps, they stay killed, and the podcast app still runs just fine.

@ECHO OFF
@ECHO Batch file to:
@ECHO 1) Force the phone into Deep Doze mode
@ECHO 2) Disable Accelerometer, Light and Proximity sensors to save power
@ECHO 3) Kill Google components
@ECHO 4) Kill background (cached) processes.
@ECHO Run from an Administrator-privilege command prompt.
@ECHO To force background processes to stay killed, change
@ECHO Settings - Developer Options - "Background Process Limit" to 'No background processes'.

SET PACKAGES=com.google.android.gsf com.google.android.partnersetup com.google.android.configupdater com.android.vending com.google.android.webview com.google.android.packageinstaller com.google.android.gsf.login com.google.android.chimera com.google.android.gms.auth.accounts com.google.android.gms.auth.accountstate com.google.android.gms.auth.confirm com.google.android.gms.chimera com.google.android.gms.instantapps.provider.api com.google.android.gms.persistent com.google.android.gms.phenotype com.google.android.gms.security.provider com.google.android.gms.trustagent.framework.model.be.provider com.google.android.gms

@ECHO ON
adb shell su -c "dumpsys deviceidle force-idle deep"
adb shell su -c "dumpsys sensorservice restrict"

@FOR %%p IN (%PACKAGES%) DO adb shell su -c "appops set %%p RUN_IN_BACKGROUND ignore"
@FOR %%p IN (%PACKAGES%) DO adb shell su -c "am set-inactive %%p true"
@FOR %%p IN (%PACKAGES%) DO adb shell su -c "am force-stop %%p"

adb shell su -c "am kill-all"

taskkill.exe /IM adb.exe /F

cls

Just add your packages to the PACKAGES variable in the code above (it's a space-separated list). You don' t have to do anything with the rest of the code.

The Settings > Developer Options > "Background Process Limit" being set to 'No background processes' doesn't really kill background processes, it kills cached processes (those which are empty and have no service running)... so if you've got, for instance, GMail, it'll still run just fine with that setting enabled. If you're like me, you don't start and stop a lot of apps... I set my podcast app running in the morning and it runs until the evening, and the only other apps I might use are Navigator, the phone and SMS. Very occasionally, I'll use the web browser. If you're frequently starting and stopping apps, the 'No background processes' setting being enabled will increase your battery drain because the apps have to start up from zero each time.

I've got some good stuff upcoming as regards digging into the weeds of the system services via the ADB 'service' command.

adb shell
su
service -h
exit
exit

Much more to come on that, if I can figure it all out.

Usage: service [-h|-?]

service list

service check SERVICE

service call SERVICE CODE [i32 N | i64 N | f N | d N | s16 STR ] ...

Options:

i32: Write the 32-bit integer N into the send parcel.

i64: Write the 64-bit integer N into the send parcel.

f: Write the 32-bit single-precision number N into the send parcel.

d: Write the 64-bit double-precision number N into the send parcel.

s16: Write the UTF-16 string STR into the send parcel.

adb shell
su
service list
exit
exit

Found 138 services:
0 GbaService: [com.mediatek.gba.IGbaService]
1 GpuAppSpectatorService: [com.mediatek.GpuAppSpectatorService]
2 carrier_config: [com.android.internal.telephony.ICarrierConfigLoader]
3 phoneEx: [com.mediatek.internal.telephony.ITelephonyEx]
4 phone: [com.android.internal.telephony.ITelephony]
5 isms: [com.android.internal.telephony.ISms]
6 iphonesubinfo: [com.android.internal.telephony.IPhoneSubInfo]
7 simphonebook: [com.android.internal.telephony.IIccPhoneBook]
8 telecom: [com.android.internal.telecom.ITelecomService]
9 isub: [com.android.internal.telephony.ISub]
10 ims: [com.android.ims.internal.IImsService]
11 contexthub_service: [android.hardware.location.IContextHubService]
12 dns_listener: [android.net.metrics.IDnsEventListener]
13 connectivity_metrics_logger: [android.net.IConnectivityMetricsLogger]
14 bluetooth_manager: [android.bluetooth.IBluetoothManager]
15 imms: [com.android.internal.telephony.IMms]
16 media_projection: [android.media.projection.IMediaProjectionManager]
17 mtk-perfservice: [com.mediatek.perfservice.IPerfService]
18 launcherapps: [android.content.pm.ILauncherApps]
19 shortcut: [android.content.pm.IShortcutService]
20 fingerprint: [android.hardware.fingerprint.IFingerprintService]
21 trust: [android.app.trust.ITrustManager]
22 media_router: [android.media.IMediaRouterService]
23 media_session: [android.media.session.ISessionManager]
24 restrictions: [android.content.IRestrictionsManager]
25 print: [android.print.IPrintManager]
26 graphicsstats: [android.view.IGraphicsStats]
27 assetatlas: [android.view.IAssetAtlas]
28 dreams: [android.service.dreams.IDreamManager]
29 commontime_management: []
30 network_time_update_service: []
31 samplingprofiler: []
32 diskstats: []
33 voiceinteraction: [com.android.internal.app.IVoiceInteractionManagerService]
34 appwidget: [com.android.internal.appwidget.IAppWidgetService]
35 backup: [android.app.backup.IBackupManager]
36 soundtrigger: [com.android.internal.app.ISoundTriggerService]
37 jobscheduler: [android.app.job.IJobScheduler]
38 hardware_properties: [android.os.IHardwarePropertiesManager]
39 serial: [android.hardware.ISerialManager]
40 usb: [android.hardware.usb.IUsbManager]
41 midi: [android.media.midi.IMidiManager]
42 DockObserver: []
43 audio: [android.media.IAudioService]
44 wallpaper: [android.app.IWallpaperManager]
45 dropbox: [com.android.internal.os.IDropBoxManagerService]
46 search_engine: [com.mediatek.search.ISearchEngineManagerService]
47 search: [android.app.ISearchManager]
48 country_detector: [android.location.ICountryDetector]
49 location: [android.location.ILocationManager]
50 devicestoragemonitor: []
51 notification: [android.app.INotificationManager]
52 recovery: [android.os.IRecoverySystem]
53 updatelock: [android.os.IUpdateLock]
54 data_shaping: [com.mediatek.datashaping.IDataShapingManager]
55 servicediscovery: [android.net.nsd.INsdManager]
56 connectivity: [android.net.IConnectivityManager]
57 ethernet: [android.net.IEthernetManager]
58 rttmanager: [android.net.wifi.IRttManager]
59 wifiscanner: [android.net.wifi.IWifiScanner]
60 wifi: [android.net.wifi.IWifiManager]
61 wifip2p: [android.net.wifi.p2p.IWifiP2pManager]
62 netpolicy: [android.net.INetworkPolicyManager]
63 netstats: [android.net.INetworkStatsService]
64 network_score: [android.net.INetworkScoreService]
65 textservices: [com.android.internal.textservice.ITextServicesManager]
66 network_management: [android.os.INetworkManagementService]
67 clipboard: [android.content.IClipboard]
68 statusbar: [com.android.internal.statusbar.IStatusBarService]
69 device_policy: [android.app.admin.IDevicePolicyManager]
70 deviceidle: [android.os.IDeviceIdleController]
71 persistent_data_block: [android.service.persistentdata.IPersistentDataBlockService]
72 lock_settings: [com.android.internal.widget.ILockSettings]
73 uimode: [android.app.IUiModeManager]
74 mount: [IMountService]
75 accessibility: [android.view.accessibility.IAccessibilityManager]
76 input_method: [com.android.internal.view.IInputMethodManager]
77 pinner: []
78 vrmanager: [android.service.vr.IVrManager]
79 input: [android.hardware.input.IInputManager]
80 window: [android.view.IWindowManager]
81 alarm: [android.app.IAlarmManager]
82 consumer_ir: [android.hardware.IConsumerIrService]
83 vibrator: [android.os.IVibratorService]
84 content: [android.content.IContentService]
85 account: [android.accounts.IAccountManager]
86 media.camera.proxy: [android.hardware.ICameraServiceProxy]
87 telephony.registry: [com.android.internal.telephony.ITelephonyRegistry]
88 scheduling_policy: [android.os.ISchedulingPolicyService]
89 webviewupdate: [android.webkit.IWebViewUpdateService]
90 usagestats: [android.app.usage.IUsageStatsManager]
91 battery: []
92 sensorservice: [android.gui.SensorServer]
93 anrmanager: [android.app.IANRManager]
94 processinfo: [android.os.IProcessInfoService]
95 permission: [android.os.IPermissionController]
96 cpuinfo: []
97 dbinfo: []
98 gfxinfo: []
99 meminfo: []
100 procstats: [com.android.internal.app.procstats.IProcessStats]
101 activity: [android.app.IActivityManager]
102 user: [android.os.IUserManager]
103 otadexopt: [android.content.pm.IOtaDexopt]
104 package: [android.content.pm.IPackageManager]
105 display: [android.hardware.display.IDisplayManager]
106 power: [android.os.IPowerManager]
107 appops: [com.android.internal.app.IAppOpsService]
108 batterystats: [com.android.internal.app.IBatteryStats]
109 media.mmsdk: [com.mediatek.mmsdk.IMMSdkService]
110 media.camera: [android.hardware.ICameraService]
111 netd: [android.net.INetd]
112 media.sound_trigger_hw: [android.hardware.ISoundTriggerHwService]
113 media.radio: [android.hardware.IRadioService]
114 media.audio_policy: [android.media.IAudioPolicyService]
115 media.VTS: [android.hardware.IVTService]
116 drm.drmManager: [drm.IDrmManagerService]
117 user.xposed.app: [de.robv.android.xposed.IXposedService]
118 user.xposed.system: [de.robv.android.xposed.IXposedService]
119 gpu: [android.ui.IGpuService]
120 SurfaceFlinger: [android.ui.ISurfaceComposer]
121 PQ: [PQService]
122 GuiExtService: [GuiExtService]
123 android.security.keystore: [android.security.IKeystoreService]
124 android.service.gatekeeper.IGateKeeperService: [android.service.gatekeeper.IGateKeeperService]
125 android.hardware.fingerprint.IGoodixFingerprintDaemon: [android.hardware.fingerprint.IGoodixFingerprintDaemon]
126 android.hardware.fingerprint.IFingerprintDaemon: [android.hardware.fingerprint.IFingerprintDaemon]
127 media.resource_manager: [android.media.IResourceManagerService]
128 media.player: [android.media.IMediaPlayerService]
129 media.extractor: [android.media.IMediaExtractorService]
130 batteryproperties: [android.os.IBatteryPropertiesRegistrar]
131 media.drm: [android.media.IMediaDrmService]
132 media.audio_flinger: [android.media.IAudioFlinger]
133 program_binary: []
134 media.codec: [android.media.IMediaCodecService]
135 AAL: [AALService]
136 NvRAMAgent: [NvRAMAgent]
137 mtk.codecservice: []