Maybe this is helpful In developer options there is an option called Running services Answer from HELLBOY7636 on reddit.com
🌐
Uptodown
background-apps-and-process-list.en.uptodown.com › android › tools › general › background apps & process list
Background Apps & Process List for Android - Download the APK from Uptodown
Download the APK of Background Apps & Process List for Android for free. Boost Android efficiency with easy background app management. The Background Apps...
Published   August 5, 2024
🌐
Google Play
play.google.com › store › apps › details
Background Apps & Process List - Apps on Google Play
Force close apps that may be running in the background on your Android. Features: ✓ Lists User apps and System apps. ✓ Close all apps at once or Close multiple apps at once. ✓ Option to open at startup. ✓ Switch Layout as per your choice. Supports: ✓ Android Phones.
Rating: 3.9 ​ - ​ 1.47K votes
Discussions

Background Apps? | Android Central Forum
I have an lg velvet 5g T-Mobile version. I have installed 750 apps overtheree years seeing how much I can stuff and which ones we good. I know its a lot and that is why my battery is not lasting as long as it used to. Before I factory reset I wanted to see what is eating the battery. I... More on forums.androidcentral.com
🌐 forums.androidcentral.com
January 14, 2024
Any way to see which app are running in background and block them?
Maybe this is helpful In developer options there is an option called Running services More on reddit.com
🌐 r/androidapps
4
8
February 10, 2024
Stop background apps from running - non-root Android
Go to app setting and set battery restrictions so the app once closed wont run in the background. More on reddit.com
🌐 r/androidapps
15
5
June 28, 2024
How to make an android app to always run in background? - Stack Overflow
And the app(s) which I wanted to ... it is possible). Can it be done? Or in short, how to make an android app always run in the background? ... You can try creating a service. Here is the official documentation for doing that: Link... More on stackoverflow.com
🌐 stackoverflow.com
🌐
Quora
quora.com › How-do-you-check-what-apps-are-running-in-background-on-an-Android-phone
How to check what apps are running in background on an Android phone - Quora
Originally Answered: How do I see background apps on Android? · ... Open Settings (some phones you’ll need to also select General), select “Apps” or “Application Manager”, then you can scroll through all of your apps and open their individual settings. Then, you can tap “Force Stop” to stop the selected app from running in the background.
🌐
Google Support
support.google.com › android › answer › 9079646
Find, open & close apps on Android - Android Help
You'll find some apps on your Home screens, and all your apps in All Apps. You can open apps, switch between apps, and find 2 apps at once.
🌐
Android Central
forums.androidcentral.com › home › lg android phones › more lg phones
Background Apps? | Android Central Forum
January 14, 2024 - I found if you goto Settings and click on Battery and Background restrictions you can tick mark all the apps you want to restrict from running in the background. I ticked all the apps just to see what would happen. I restarted several times. Background Apps & Process List still says 15 running in the background. It says for example Amazon Alexa is running.
🌐
HotBot
hotbot.com › answers › how-to-check-apps-running-in-background-android
How to check apps running in background android? - HotBot
August 8, 2024 - Tap on the Running or App info tab to see which apps are currently active in the background. In some Android versions, you might find the Running services option under Developer options.
Find elsewhere
Top answer
1 of 4
124

You have to start a service in your Application class to run it always. If you do that, your service will be always running. Even though user terminates your app from task manager or force stop your app, it will start running again.

Create a service:

public class YourService extends Service {

    @Nullable
    @Override
    public IBinder onBind(Intent intent) {
        return null;
    }

    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        // do your jobs here
        return super.onStartCommand(intent, flags, startId);
    }
}

Create an Application class and start your service:

public class App extends Application {

    @Override
    public void onCreate() {
        super.onCreate();

        startService(new Intent(this, YourService.class));
    }
}

Add "name" attribute into the "application" tag of your AndroidManifest.xml

android:name=".App"

Also, don't forget to add your service in the "application" tag of your AndroidManifest.xml

<service android:name=".YourService"/>

And also this permission request in the "manifest" tag (if API level 28 or higher):

<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>

UPDATE

After Android Oreo, Google introduced some background limitations. Therefore, this solution above won't work probably. When a user kills your app from task manager, Android System will kill your service as well. If you want to run a service which is always alive in the background. You have to run a foreground service with showing an ongoing notification. So, edit your service like below.

public class YourService extends Service {

    private static final int NOTIF_ID = 1;
    private static final String NOTIF_CHANNEL_ID = "Channel_Id";

    @Nullable
    @Override
    public IBinder onBind(Intent intent) {
        return null;
    }

    @Override
    public int onStartCommand(Intent intent, int flags, int startId){

        // do your jobs here

        startForeground();
        
        return super.onStartCommand(intent, flags, startId);
    }

    private void startForeground() {
        Intent notificationIntent = new Intent(this, MainActivity.class);

        PendingIntent pendingIntent = PendingIntent.getActivity(this, 0,
                notificationIntent, 0);

        startForeground(NOTIF_ID, new NotificationCompat.Builder(this, 
                NOTIF_CHANNEL_ID) // don't forget create a notification channel first
                .setOngoing(true)
                .setSmallIcon(R.drawable.ic_notification)
                .setContentTitle(getString(R.string.app_name))
                .setContentText("Service is running background")
                .setContentIntent(pendingIntent)
                .build());         
    }
}

EDIT: RESTRICTED OEMS

Unfortunately, some OEMs (Xiaomi, OnePlus, Samsung, Huawei etc.) restrict background operations due to provide longer battery life. There is no proper solution for these OEMs. Users need to allow some special permissions that are specific for OEMs or they need to add your app into whitelisted app list by device settings. You can find more detail information from https://dontkillmyapp.com/.

If background operations are an obligation for you, you need to explain it to your users why your feature is not working and how they can enable your feature by allowing those permissions. I suggest you to use AutoStarter library (https://github.com/judemanutd/AutoStarter) in order to redirect your users regarding permissions page easily from your app.

By the way, if you need to run some periodic work instead of having continuous background job. You better take a look WorkManager (https://developer.android.com/topic/libraries/architecture/workmanager)

2 of 4
4

On some mobiles like mine (MIUI Redmi 3) you can just add specific Application on list where application doesnt stop when you terminate applactions in Task Manager (It will stop but it will start again)

Just go to Settings>PermissionsAutostart

🌐
Medium
timonofearth.medium.com › how-to-check-background-apps-on-android-and-stop-them-from-draining-your-battery-4b15f1b89b37
How to Check Background Apps on Android (And Stop Them from Draining Your Battery) | by Timónofearth | Medium
August 7, 2025 - Syncing data, refreshing feeds, or tracking your location. But don’t worry, checking and managing background apps is easier than you think. Here’s how to find out what’s running behind the scenes on your Android device and take control.
🌐
Android Developers
developer.android.com › core areas › background work › background tasks overview
Background tasks overview | Background work | Android Developers
February 26, 2026 - In some cases, choosing the wrong approach could prevent your app from being listed in the Play Store. This document explains the different options available to you, and helps you choose the right one for your situation. Some important terms related to background tasks might be used in multiple, ...
🌐
PhoneArena
phonearena.com › home › news
Let’s settle it: should you still close your background apps on Android? - PhoneArena
July 29, 2024 - 11PM, 27%: I went to bed. Only Messenger, WhatsApp, Chrome and Keep are open in the background. I honestly can’t imagine any other outcome, regardless of phone of choice. | Image credit — PhoneArena · I think that it’s safe to say that ...
Top answer
1 of 2
2

Well, this sure enough confirmed my hypothesis of "if no one on stackexchange knows the answer, you're going to have to figure it out yourself".

So I did.

The answer to this question is twofold. There's the window manager and the activity manager, and both play a certain role in this.

While it was tempting to write a TL;DR at the top here, I didn't, because especially with the second part, you have to be very careful with what you're doing, at least for now.

Window Manager/Recent Tasks

Let's start with the window manager, as this will also be interesting for people without large amounts of RAM. Also, it's quite a bit simpler.

It works with a number of variables: config_activeTaskDurationHours as well as a number of NumVisibleRecentTasks variables. config_activeTaskDurationHours determines, as the name suggests, how long a task is considered active, that is, relevant to the user. On my device, this was set to 6. After those 6 hours, the "task" no longer appears in the recent apps list, with one exception: the number of open apps would be lower than, in my case, config_minNumVisibleRecentTasks, launcher included. In that case, the app is not discarded. If the number of open apps is the same as config_minNumVisibleRecentTasks, though, then as soon as you open an app that isn't opened yet, the oldest open app that hasn't been used for more than 6 hours is discarded.

There are also a couple of other related settings that weren't relevant in my case:

  • config_minNumVisibleRecentTasks_grid: This is for when apps are displayed in a grid. This view is not available on many builds of Android, though.
  • config_minNumVisibleRecentTasks_lowRam: The same setting for low RAM devices.
  • config_maxNumVisibleRecentTasks, config_maxNumVisibleRecentTasks_grid, and config_maxNumVisibleRecentTasks_lowRam: these are upper limits for the numbers of recent tasks. In my case config_maxNumVisibleRecentTasks was set to -1, which means there is no maximum limit.

These are all grabbed from resources, and can be modified with GravityBox (root and XPosed/EdExposed/LSPosed required), under the Advanced tuning section, in the Framework section. They require a restart to activate the changes.

In my case, I set both config_activeTaskDurationHours and config_minNumVisibleRecentTasks to a ridiculous level: 5000. That way, it takes over a half a year for a task to have a chance to be removed, and that only if there are more than 5000 apps open, which I suspect will never happen.

Activity Manager/OomAdjuster

This was a bit of a tougher nut to crack for me, and took a good amount of searching through the source code to find the answer - although the answer may not have really required it. Oh, well.

I first tried writing an XPosed module to override com.android.server.am.ActivityManagerConstants, specifically updateMaxCachedProcesses. Unfortunately, I couldn't get it to hook the method properly, I don't know why. Mind you, I've never tried writing an XPosed module before, and I did this with AIDE - maybe sometime I'll unpack Android Studio again and try it in there. But if anyone wants finer control, this should offer an avenue to do that.

At the end, my original suspicion that you might be able to use the background process limit unoficially to increase the limit ended up being true. Sure enough, if you go into developer settings and change the background process limit to, say, 4, the output of su -c dumpsys activity settings looks like this at the end:

mOverrideMaxCachedProcesses=4
CUR_MAX_CACHED_PROCESSES=4
CUR_MAX_EMPTY_PROCESSES=2
CUR_TRIM_EMPTY_PROCESSES=15
CUR_TRIM_CACHED_PROCESSES=10

Note that the trim levels aren't changed, and IMO it doesn't make sense to change those levels even if the device has a high amount of RAM. Essentially, if the process numbers are below the trim levels, the system doesn't even bother trimming memory.

So, how can we assign a higher value? This is where things get complicated. I tried to call ActivityManager.setProcessLimit() with the permission android.permission.SET_PROCESS_LIMIT (which is only available to system apps but can also be granted via ADB) as defined in the IActivityManager Interface, but I couldn't get it to work (again, I was working with AIDE, so that may be the problem, I may try it again on Android Studio later).

However, there is a little known android shell command, service call, which essentially lets you call a whole bunch of methods from different service interfaces, see Where to find info on Android's "service call" shell command?. What you're looking for is the activity service, which is defined in android.app.IActivityManager.aidl, and you're looking for the method setProcessLimit(int max). Using the terminal, we can do service list to get a list of the services that can be called here. In my case, the service name I'm looking for was activity. Then, we look up the setProcessLimit(int max) command in the source code. Since I'm reasonably close to AOSP, I can look it up in there. In my case, it's the 40th command.

WARNING: Before I show what I needed for my device, don't just blindly follow this. This is different for just about every version of Android, and if you mess it up, it could cause problems. Read the link from the paragraph beforehand to be sure, at the very least be sure to understand my explanation in the previous paragraph.

In my case, I decided to set it to something ridiculous, so I took the tenfold of the original value, 600. That turned it into: service call activity 40 i32 600 (be sure to run su before that as this needs root privileges). Now, when I call su -c dumpsys activity settings, the section looks like this:

mOverrideMaxCachedProcesses=600
CUR_MAX_CACHED_PROCESSES=600
CUR_MAX_EMPTY_PROCESSES=300
CUR_TRIM_EMPTY_PROCESSES=15
CUR_TRIM_CACHED_PROCESSES=10

Halleluja! We did it! Mind you, AFAIK, you'll have to repeat the service call command on every restart, and if you mess around with the background process limit setting in developer settings, you'll also lose what you just set.

Maybe someday I'll try the approach with a root/adb app or an XPosed module again, and If I do, I'll update this answer. But for now, I'm happy with the results. RAM usage is now more between 5.5 and 6GB, as opposed to 4GB. Apps seem to be restarting less. Life is better.

2 of 2
2

I updated my module that's been mentioned in the original question and actually there's a way to set max_cached_processes to a value that survives restarts - even without root, with simple adb commands. Check the module's documentation and all the links lead me to the solution. Cheers!

Android 9 and below:

settings put global activity_manager_constants max_cached_processes=256

Android 10 and above:

/system/bin/device_config put activity_manager max_phantom_processes 2147483647
/system/bin/device_config put activity_manager max_cached_processes 256

Or something like this:

[ $(getprop ro.build.version.release) -gt 9 ] && cmd device_config set_sync_disabled_for_tests persistent
[ $(getprop ro.build.version.release) -gt 9 ] && cmd device_config put activity_manager max_cached_processes 256 || settings put global activity_manager_constants max_cached_processes=256
[ $(getprop ro.build.version.release) -gt 9 ] && cmd device_config put activity_manager max_phantom_processes 2147483647
[ $(getprop ro.build.version.release) -gt 9 ] && cmd settings put global settings_enable_monitor_phantom_procs false
[ $(getprop ro.build.version.release) -gt 9 ] && cmd device_config put activity_manager max_empty_time_millis 43200000
[ $(getprop ro.build.version.release) -gt 9 ] && cmd settings put global settings_enable_monitor_phantom_procs false
🌐
Softonic
background-apps-process-list.en.softonic.com › home › android › utilities & tools › background apps & process list
Background Apps & Process List APK for Android - Download
February 25, 2026 - Background Apps & Process List for Android, free and safe download. Background Apps & Process List latest version: A free app for Android, by Vishnu N
Rating: 8/10 ​ - ​ 2 votes
🌐
GitHub
github.com › visnkmr › backgroundappslist
GitHub - visnkmr/backgroundappslist: Force close apps that are running in the background. Made using Java, Gradle, Android Studio. #2 most downloaded app of all time for Fire TV for the respective category on Amazon Appstore. · GitHub
Features: ✓ Lists User apps and System apps. ✓ Close all apps at once or Close multiple apps at once. ✓ Option to open at startup. ✓ Switch Layout as per your choice. Supports: ✓ Android Phones. ✓ Tablets. ✓ Chromebook, Windows Subsystem for android.
Starred by 108 users
Forked by 7 users
🌐
Google Support
support.google.com › files › thread › 319945461 › how-do-i-check-background-activity-on-apps
How do I check background activity on apps - Files by Google Community
January 21, 2025 - Skip to main content · Files by Google Help · Sign in · Google Help · Help Center · Community · Files by Google · Terms of Service · Submit feedback · Send feedback on
🌐
Google Play
play.google.com › store › apps › details
DontKillMyApp: Make apps work - Apps on Google Play
The official DontKillMyApp app is here - make apps finally work properly even if you do not own a Pixel. Helps you set up your phone background tasks so that your apps can finally work for YOU even when not looking at the screen right now.
Rating: 4.5 ​ - ​ 13.3K votes
🌐
Lifewire
lifewire.com › stop-apps-from-running-in-the-background-on-android-4777510
Stop Apps Running in Background on Android Easily
June 24, 2025 - The best way to alleviate the burden ... running. There are a few ways to see these background apps. On a Pixel device, go to Settings > System > Developer options. For a Galaxy device, navigate to Settings > Developer ...
🌐
Android Developers
developer.android.com › app quality › background optimization
Background optimization | App quality | Android Developers
Note: TriggerContentUri() cannot be used in combination with setPeriodic() or setPersisted(). To continually monitor for content changes, schedule a new JobInfo before the app’s JobService finishes handling the most recent callback. The following sample code schedules a job to trigger when the system reports a change to the content URI, MEDIA_URI: const val MY_BACKGROUND_JOB = 0 ...