Android APIs
public static class

ActivityManager.RunningAppProcessInfo

extends Object
implements Parcelable
java.lang.Object
   ↳ android.app.ActivityManager.RunningAppProcessInfo

Class Overview

Information you can retrieve about a running process.

Summary

Constants
int IMPORTANCE_BACKGROUND Constant for importance: This process process contains background code that is expendable.
int IMPORTANCE_EMPTY Constant for importance: This process is empty of any actively running code.
int IMPORTANCE_FOREGROUND Constant for importance: This process is running the foreground UI; that is, it is the thing currently at the top of the screen that the user is interacting with.
int IMPORTANCE_FOREGROUND_SERVICE Constant for importance: This process is running a foreground service, for example to perform music playback even while the user is not immediately in the app.
int IMPORTANCE_GONE Constant for importance: This process does not exist.
int IMPORTANCE_PERCEPTIBLE Constant for importance: This process is not something the user is directly aware of, but is otherwise perceptable to them to some degree.
int IMPORTANCE_SERVICE Constant for importance: This process is contains services that should remain running.
int IMPORTANCE_TOP_SLEEPING Constant for importance: This process is running the foreground UI, but the device is asleep so it is not visible to the user.
int IMPORTANCE_VISIBLE Constant for importance: This process is running something that is actively visible to the user, though not in the immediate foreground.
int REASON_PROVIDER_IN_USE Constant for importanceReasonCode: one of the application's content providers is being used by another process.
int REASON_SERVICE_IN_USE Constant for importanceReasonCode: one of the application's content providers is being used by another process.
int REASON_UNKNOWN Constant for importanceReasonCode: nothing special has been specified for the reason for this level.
[Expand]
Inherited Constants
From interface android.os.Parcelable
Fields
public static final Creator<ActivityManager.RunningAppProcessInfo> CREATOR
public int importance The relative importance level that the system places on this process.
public int importanceReasonCode The reason for importance, if any.
public ComponentName importanceReasonComponent For the specified values of importanceReasonCode, this is the name of the component that is being used in this process.
public int importanceReasonPid For the specified values of importanceReasonCode, this is the process ID of the other process that is a client of this process.
public int lastTrimLevel Last memory trim level reported to the process: corresponds to the values supplied to ComponentCallbacks2.onTrimMemory(int).
public int lru An additional ordering within a particular importance category, providing finer-grained information about the relative utility of processes within a category.
public int pid The pid of this process; 0 if none
public String[] pkgList All packages that have been loaded into the process.
public String processName The name of the process that this object is associated with
public int uid The user id of this process.
Public Constructors
ActivityManager.RunningAppProcessInfo()
ActivityManager.RunningAppProcessInfo(String pProcessName, int pPid, String[] pArr)
Public Methods
int describeContents()
Describe the kinds of special objects contained in this Parcelable's marshalled representation.
void readFromParcel(Parcel source)
void writeToParcel(Parcel dest, int flags)
Flatten this object in to a Parcel.
[Expand]
Inherited Methods
From class java.lang.Object
From interface android.os.Parcelable

Constants

public static final int IMPORTANCE_BACKGROUND

Added in API level 3

Constant for importance: This process process contains background code that is expendable.

Constant Value: 400 (0x00000190)

public static final int IMPORTANCE_EMPTY

Added in API level 3

Constant for importance: This process is empty of any actively running code.

Constant Value: 500 (0x000001f4)

public static final int IMPORTANCE_FOREGROUND

Added in API level 3

Constant for importance: This process is running the foreground UI; that is, it is the thing currently at the top of the screen that the user is interacting with.

Constant Value: 100 (0x00000064)

public static final int IMPORTANCE_FOREGROUND_SERVICE

Added in API level 23

Constant for importance: This process is running a foreground service, for example to perform music playback even while the user is not immediately in the app. This generally indicates that the process is doing something the user actively cares about.

Constant Value: 125 (0x0000007d)

public static final int IMPORTANCE_GONE

Added in API level 21

Constant for importance: This process does not exist.

Constant Value: 1000 (0x000003e8)

public static final int IMPORTANCE_PERCEPTIBLE

Added in API level 9

Constant for importance: This process is not something the user is directly aware of, but is otherwise perceptable to them to some degree.

Constant Value: 130 (0x00000082)

public static final int IMPORTANCE_SERVICE

Added in API level 3

Constant for importance: This process is contains services that should remain running. These are background services apps have started, not something the user is aware of, so they may be killed by the system relatively freely (though it is generally desired that they stay running as long as they want to).

Constant Value: 300 (0x0000012c)

public static final int IMPORTANCE_TOP_SLEEPING

Added in API level 23

Constant for importance: This process is running the foreground UI, but the device is asleep so it is not visible to the user. This means the user is not really aware of the process, because they can not see or interact with it, but it is quite important because it what they expect to return to once unlocking the device.

Constant Value: 150 (0x00000096)

public static final int IMPORTANCE_VISIBLE

Added in API level 3

Constant for importance: This process is running something that is actively visible to the user, though not in the immediate foreground. This may be running a window that is behind the current foreground (so paused and with its state saved, not interacting with the user, but visible to them to some degree); it may also be running other services under the system's control that it inconsiders important.

Constant Value: 200 (0x000000c8)

public static final int REASON_PROVIDER_IN_USE

Added in API level 5

Constant for importanceReasonCode: one of the application's content providers is being used by another process. The pid of the client process is in importanceReasonPid and the target provider in this process is in importanceReasonComponent.

Constant Value: 1 (0x00000001)

public static final int REASON_SERVICE_IN_USE

Added in API level 5

Constant for importanceReasonCode: one of the application's content providers is being used by another process. The pid of the client process is in importanceReasonPid and the target provider in this process is in importanceReasonComponent.

Constant Value: 2 (0x00000002)

public static final int REASON_UNKNOWN

Added in API level 5

Constant for importanceReasonCode: nothing special has been specified for the reason for this level.

Constant Value: 0 (0x00000000)

Fields

public static final Creator<ActivityManager.RunningAppProcessInfo> CREATOR

Added in API level 3

public int importance

Added in API level 3

The relative importance level that the system places on this process. May be one of IMPORTANCE_FOREGROUND, IMPORTANCE_VISIBLE, IMPORTANCE_SERVICE, IMPORTANCE_BACKGROUND, or IMPORTANCE_EMPTY. These constants are numbered so that "more important" values are always smaller than "less important" values.

public int importanceReasonCode

Added in API level 5

The reason for importance, if any.

public ComponentName importanceReasonComponent

Added in API level 5

For the specified values of importanceReasonCode, this is the name of the component that is being used in this process.

public int importanceReasonPid

Added in API level 5

For the specified values of importanceReasonCode, this is the process ID of the other process that is a client of this process. This will be 0 if no other process is using this one.

public int lastTrimLevel

Added in API level 16

Last memory trim level reported to the process: corresponds to the values supplied to ComponentCallbacks2.onTrimMemory(int).

public int lru

Added in API level 3

An additional ordering within a particular importance category, providing finer-grained information about the relative utility of processes within a category. This number means nothing except that a smaller values are more recently used (and thus more important). Currently an LRU value is only maintained for the IMPORTANCE_BACKGROUND category, though others may be maintained in the future.

public int pid

Added in API level 3

The pid of this process; 0 if none

public String[] pkgList

Added in API level 3

All packages that have been loaded into the process.

public String processName

Added in API level 3

The name of the process that this object is associated with

public int uid

Added in API level 5

The user id of this process.

Public Constructors

public ActivityManager.RunningAppProcessInfo ()

Added in API level 3

public ActivityManager.RunningAppProcessInfo (String pProcessName, int pPid, String[] pArr)

Added in API level 3

Parameters
pProcessName
pPid
pArr

Public Methods

public int describeContents ()

Added in API level 3

Describe the kinds of special objects contained in this Parcelable's marshalled representation.

Returns
int a bitmask indicating the set of special object types marshalled by the Parcelable.

public void readFromParcel (Parcel source)

Added in API level 3

Parameters
source

public void writeToParcel (Parcel dest, int flags)

Added in API level 3

Flatten this object in to a Parcel.

Parameters
dest The Parcel in which the object should be written.
flags Additional flags about how the object should be written. May be 0 or PARCELABLE_WRITE_RETURN_VALUE.