Most visited

Recently visited

Added in API level 1

Process

public class Process
extends Object

java.lang.Object
   ↳ android.os.Process


管理OS进程的工具。

Summary

Constants

int FIRST_APPLICATION_UID

定义一系列UID(和GID)的开始,从该号码开始到保留用于分配给应用程序的 LAST_APPLICATION_UID

int LAST_APPLICATION_UID

最后一个从 FIRST_APPLICATION_UID开始的特定于应用程序的UID。

int PHONE_UID

定义电话代码在其下运行的UID / GID。

int SIGNAL_KILL

int SIGNAL_QUIT

int SIGNAL_USR1

int SYSTEM_UID

定义运行系统代码的UID / GID。

int THREAD_PRIORITY_AUDIO

音频线程的标准优先级。

int THREAD_PRIORITY_BACKGROUND

标准优先级后台线程。

int THREAD_PRIORITY_DEFAULT

应用线程的标准优先级。

int THREAD_PRIORITY_DISPLAY

系统显示线程的标准优先级,涉及更新用户界面。

int THREAD_PRIORITY_FOREGROUND

当前正在运行用户正在与之交互的用户界面的线程的标准优先级。

int THREAD_PRIORITY_LESS_FAVORABLE

使优先级降低的最小增量。

int THREAD_PRIORITY_LOWEST

线程优先级最低。

int THREAD_PRIORITY_MORE_FAVORABLE

使优先级更优惠的最小增量。

int THREAD_PRIORITY_URGENT_AUDIO

最重要音频线程的标准优先级。

int THREAD_PRIORITY_URGENT_DISPLAY

最重要的显示线程的标准优先级,用于合成屏幕和检索输入事件。

Public constructors

Process()

Public methods

static final long getElapsedCpuTime()

返回此进程运行时间的毫秒数。

static final int[] getExclusiveCores()

在某些设备上,前台进程可能有一个或多个专门为其保留的CPU内核。

static final int getGidForName(String name)

返回分配给特定用户名的GID,如果没有则返回-1。

static final long getStartElapsedRealtime()

返回此过程开始的 elapsedRealtime()

static final long getStartUptimeMillis()

返回开始此过程的 uptimeMillis()

static final int getThreadPriority(int tid)

根据Linux优先级返回线程的当前优先级。

static final int getUidForName(String name)

返回分配给特定用户名的UID,如果没有,则返回-1。

static final boolean is64Bit()

如果当前进程是64位运行时,则返回true。

static boolean isApplicationUid(int uid)

返回给定的uid是否属于某个应用程序。

static final void killProcess(int pid)

用给定的PID来杀死进程。

static final int myPid()

返回此进程的标识符,它可以与 killProcess(int)sendSignal(int, int)一起使用。

static final int myTid()

返回调用线程的标识符,与 setThreadPriority(int, int)一起使用。

static final int myUid()

返回此进程的uid的标识符。

static UserHandle myUserHandle()

返回此进程的用户句柄。

static final void sendSignal(int pid, int signal)

发送信号给给定的过程。

static final void setThreadPriority(int tid, int priority)

根据Linux优先级设置线程的优先级。

static final void setThreadPriority(int priority)

根据Linux优先级设置调用线程的优先级。

static final boolean supportsProcesses()

此方法在API级别14中已弃用。此方法始终返回true。 不使用。

Inherited methods

From class java.lang.Object

Constants

FIRST_APPLICATION_UID

Added in API level 1
int FIRST_APPLICATION_UID

定义一系列UID(和GID)的开始,从这个数字到 LAST_APPLICATION_UID ,这些数字保留用于分配给应用程序。

常量值:10000(0x00002710)

LAST_APPLICATION_UID

Added in API level 1
int LAST_APPLICATION_UID

最后一个从 FIRST_APPLICATION_UID开始的特定于应用程序的UID。

常量值:19999(0x00004e1f)

PHONE_UID

Added in API level 1
int PHONE_UID

定义电话代码在其下运行的UID / GID。

常量值:1001(0x000003e9)

SIGNAL_KILL

Added in API level 1
int SIGNAL_KILL

常量值:9(0x00000009)

SIGNAL_QUIT

Added in API level 1
int SIGNAL_QUIT

常量值:3(0x00000003)

SIGNAL_USR1

Added in API level 1
int SIGNAL_USR1

常量值:10(0x0000000a)

SYSTEM_UID

Added in API level 1
int SYSTEM_UID

定义运行系统代码的UID / GID。

常量值:1000(0x000003e8)

THREAD_PRIORITY_AUDIO

Added in API level 1
int THREAD_PRIORITY_AUDIO

音频线程的标准优先级。 应用程序通常无法更改为此优先级。 setThreadPriority(int)setThreadPriority(int, int)一起使用,而不是与普通的Thread类一起使用。

常数值:-16(0xfffffff0)

THREAD_PRIORITY_BACKGROUND

Added in API level 1
int THREAD_PRIORITY_BACKGROUND

标准优先级后台线程。 这使您的线程的优先级略低于正常优先级,从而减少了影响用户界面响应的机会。 setThreadPriority(int)setThreadPriority(int, int)一起使用,而不是与普通的Thread类一起使用。

常量值:10(0x0000000a)

THREAD_PRIORITY_DEFAULT

Added in API level 1
int THREAD_PRIORITY_DEFAULT

应用线程的标准优先级。 setThreadPriority(int)setThreadPriority(int, int)与普通的Thread类一起使用。

常量值:0(0x00000000)

THREAD_PRIORITY_DISPLAY

Added in API level 1
int THREAD_PRIORITY_DISPLAY

系统显示线程的标准优先级,涉及更新用户界面。 应用程序通常无法更改为此优先级。 setThreadPriority(int)setThreadPriority(int, int)一起使用,而不是与普通的Thread类一起使用。

常量值:-4(0xfffffffc)

THREAD_PRIORITY_FOREGROUND

Added in API level 1
int THREAD_PRIORITY_FOREGROUND

当前正在运行用户正在与之交互的用户界面的线程的标准优先级。 应用程序通常无法更改为此优先级; 系统会在用户通过用户界面移动时自动调整您的应用程序线程。 setThreadPriority(int)setThreadPriority(int, int)一起使用,而不是与普通的Thread类一起使用。

常量值:-2(0xfffffffe)

THREAD_PRIORITY_LESS_FAVORABLE

Added in API level 1
int THREAD_PRIORITY_LESS_FAVORABLE

使优先级降低的最小增量。

常数值:1(0x00000001)

THREAD_PRIORITY_LOWEST

Added in API level 1
int THREAD_PRIORITY_LOWEST

线程优先级最低。 只适用于那些真的,真的不想在有其他事情发生时运行的人。 setThreadPriority(int)setThreadPriority(int, int)而不与普通的Thread类一起使用。

常量值:19(0x00000013)

THREAD_PRIORITY_MORE_FAVORABLE

Added in API level 1
int THREAD_PRIORITY_MORE_FAVORABLE

使优先级更优惠的最小增量。

常量值:-1(0xffffffff)

THREAD_PRIORITY_URGENT_AUDIO

Added in API level 1
int THREAD_PRIORITY_URGENT_AUDIO

最重要音频线程的标准优先级。 应用程序通常无法更改为此优先级。 setThreadPriority(int)setThreadPriority(int, int)不能与普通的Thread类一起使用。

常量值:-19(0xffffffed)

THREAD_PRIORITY_URGENT_DISPLAY

Added in API level 1
int THREAD_PRIORITY_URGENT_DISPLAY

最重要的显示线程的标准优先级,用于合成屏幕和检索输入事件。 应用程序通常无法更改为此优先级。 setThreadPriority(int)setThreadPriority(int, int)一起使用,而不是与普通的Thread类一起使用。

常量值:-8(0xfffffff8)

Public constructors

Process

Added in API level 1
Process ()

Public methods

getElapsedCpuTime

Added in API level 1
long getElapsedCpuTime ()

返回此进程运行时间的毫秒数。

Returns
long Returns the number of milliseconds this process has return.

getExclusiveCores

Added in API level 24
int[] getExclusiveCores ()

在某些设备上,前台进程可能有一个或多个专门为其保留的CPU内核。 此方法可用于检索哪些内核(如果有),因此调用进程可以使用sched_setaffinity()将线程锁定到这些内核。 请注意,调用进程目前必须在前台运行,以便此方法返回任何内核。 只要进程停留在前台,专门为前台进程保留的CPU内核将保留保留。 一旦进程离开前台,这些CPU核心将不再为其保留,并且很可能将保留用于新的前台进程。 当它离开前台时,没有必要改变你的进程的亲和力(如果你之前已经将它设置为使用保留核心)。 操作系统会自动处理重置该点处的关联性。

Returns
int[] an array of integers, indicating the CPU cores exclusively reserved for this process. The array will have length zero if no CPU cores are exclusively reserved for this process at this point in time.

getGidForName

Added in API level 1
int getGidForName (String name)

返回分配给特定用户名的GID,如果没有则返回-1。 如果给定的字符串只包含数字,则直接转换为gid。

Parameters
name String
Returns
int

getStartElapsedRealtime

Added in API level 24
long getStartElapsedRealtime ()

返回此过程开始的 elapsedRealtime()

Returns
long

getStartUptimeMillis

Added in API level 24
long getStartUptimeMillis ()

返回此过程开始的 uptimeMillis()

Returns
long

getThreadPriority

Added in API level 1
int getThreadPriority (int tid)

根据Linux优先级返回线程的当前优先级。

Parameters
tid int: The identifier of the thread/process to change.
Returns
int Returns the current priority, as a Linux priority level, from -20 for highest scheduling priority to 19 for lowest scheduling priority.
Throws
IllegalArgumentException Throws IllegalArgumentException if tid does not exist.

getUidForName

Added in API level 1
int getUidForName (String name)

返回分配给特定用户名的UID,如果没有,则返回-1。 如果给定的字符串只包含数字,则直接转换为uid。

Parameters
name String
Returns
int

is64Bit

Added in API level 23
boolean is64Bit ()

如果当前进程是64位运行时,则返回true。

Returns
boolean

isApplicationUid

Added in API level 24
boolean isApplicationUid (int uid)

返回给定的uid是否属于某个应用程序。

Parameters
uid int: A kernel uid.
Returns
boolean Whether the uid corresponds to an application sandbox running in a specific user.

killProcess

Added in API level 1
void killProcess (int pid)

用给定的PID来杀死进程。 请注意,虽然此API允许我们根据其PID来请求终止任何进程,但内核仍会对您确实能够杀死的PID施加标准限制。 通常这意味着只有运行调用者的程序包/应用程序以及由该应用程序创建的任何其他进程的进程; 共享一个通用UID的软件包也能够杀死对方的进程。

Parameters
pid int

myPid

Added in API level 1
int myPid ()

返回此进程的标识符,它可以与 killProcess(int)sendSignal(int, int)一起使用。

Returns
int

myTid

Added in API level 1
int myTid ()

返回调用线程的标识符,与 setThreadPriority(int, int)一起使用。

Returns
int

myUid

Added in API level 2
int myUid ()

返回此进程的uid的标识符。 这是进程正在运行的内核uid,这是其特定于应用程序的沙箱的标识。 它与myUserHandle()不同之处在于,uid标识特定用户中的特定应用程序沙箱。

Returns
int

myUserHandle

Added in API level 17
UserHandle myUserHandle ()

返回此进程的用户句柄。 这是该进程正在运行的用户。 myUid()不同的是,特定用户将拥有多个不同的应用程序,每个应用程序都有自己的uid。

Returns
UserHandle

sendSignal

Added in API level 1
void sendSignal (int pid, 
                int signal)

发送信号给给定的过程。

Parameters
pid int: The pid of the target process.
signal int: The signal to send.

setThreadPriority

Added in API level 1
void setThreadPriority (int tid, 
                int priority)

根据Linux优先级设置线程的优先级。

Parameters
tid int: The identifier of the thread/process to change.
priority int: A Linux priority level, from -20 for highest scheduling priority to 19 for lowest scheduling priority.
Throws
IllegalArgumentException Throws IllegalArgumentException if tid does not exist.
SecurityException Throws SecurityException if your process does not have permission to modify the given thread, or to use the given priority.

setThreadPriority

Added in API level 1
void setThreadPriority (int priority)

根据Linux优先级设置调用线程的优先级。 有关更多信息,请参阅setThreadPriority(int, int)

Parameters
priority int: A Linux priority level, from -20 for highest scheduling priority to 19 for lowest scheduling priority.
Throws
IllegalArgumentException Throws IllegalArgumentException if tid does not exist.
SecurityException Throws SecurityException if your process does not have permission to modify the given thread, or to use the given priority.

也可以看看:

supportsProcesses

Added in API level 1
boolean supportsProcesses ()

此方法在API级别14中已弃用。
此方法始终返回true。 不使用。

确定当前环境是否支持多个进程。

Returns
boolean Returns true if the system can run in multiple processes, else false if everything is running in a single process.

Hooray!