public class Process
extends Object
java.lang.Object | |
↳ | android.os.Process |
管理OS进程的工具。
Constants |
|
---|---|
int |
FIRST_APPLICATION_UID 定义一系列UID(和GID)的开始,从该号码开始到保留用于分配给应用程序的 |
int |
LAST_APPLICATION_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() 返回此过程开始的 |
static final long |
getStartUptimeMillis() 返回开始此过程的 |
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() 返回此进程的标识符,它可以与 |
static final int |
myTid() 返回调用线程的标识符,与 |
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
|
int FIRST_APPLICATION_UID
定义一系列UID(和GID)的开始,从这个数字到 LAST_APPLICATION_UID
,这些数字保留用于分配给应用程序。
常量值:10000(0x00002710)
int LAST_APPLICATION_UID
最后一个从 FIRST_APPLICATION_UID
开始的特定于应用程序的UID。
常量值:19999(0x00004e1f)
int THREAD_PRIORITY_AUDIO
音频线程的标准优先级。 应用程序通常无法更改为此优先级。 与setThreadPriority(int)
和setThreadPriority(int, int)
一起使用,而不是与普通的Thread
类一起使用。
常数值:-16(0xfffffff0)
int THREAD_PRIORITY_BACKGROUND
标准优先级后台线程。 这使您的线程的优先级略低于正常优先级,从而减少了影响用户界面响应的机会。 与setThreadPriority(int)
和setThreadPriority(int, int)
一起使用,而不是与普通的Thread
类一起使用。
常量值:10(0x0000000a)
int THREAD_PRIORITY_DEFAULT
应用线程的标准优先级。 与setThreadPriority(int)
和setThreadPriority(int, int)
, 不与普通的Thread
类一起使用。
常量值:0(0x00000000)
int THREAD_PRIORITY_DISPLAY
系统显示线程的标准优先级,涉及更新用户界面。 应用程序通常无法更改为此优先级。 与setThreadPriority(int)
和setThreadPriority(int, int)
一起使用,而不是与普通的Thread
类一起使用。
常量值:-4(0xfffffffc)
int THREAD_PRIORITY_FOREGROUND
当前正在运行用户正在与之交互的用户界面的线程的标准优先级。 应用程序通常无法更改为此优先级; 系统会在用户通过用户界面移动时自动调整您的应用程序线程。 与setThreadPriority(int)
和setThreadPriority(int, int)
一起使用,而不是与普通的Thread
类一起使用。
常量值:-2(0xfffffffe)
int THREAD_PRIORITY_LESS_FAVORABLE
使优先级降低的最小增量。
常数值:1(0x00000001)
int THREAD_PRIORITY_LOWEST
线程优先级最低。 只适用于那些真的,真的不想在有其他事情发生时运行的人。 与setThreadPriority(int)
和setThreadPriority(int, int)
, 而不与普通的Thread
类一起使用。
常量值:19(0x00000013)
int THREAD_PRIORITY_MORE_FAVORABLE
使优先级更优惠的最小增量。
常量值:-1(0xffffffff)
int THREAD_PRIORITY_URGENT_AUDIO
最重要音频线程的标准优先级。 应用程序通常无法更改为此优先级。 与setThreadPriority(int)
和setThreadPriority(int, int)
, 不能与普通的Thread
类一起使用。
常量值:-19(0xffffffed)
int THREAD_PRIORITY_URGENT_DISPLAY
最重要的显示线程的标准优先级,用于合成屏幕和检索输入事件。 应用程序通常无法更改为此优先级。 与setThreadPriority(int)
和setThreadPriority(int, int)
一起使用,而不是与普通的Thread
类一起使用。
常量值:-8(0xfffffff8)
long getElapsedCpuTime ()
返回此进程运行时间的毫秒数。
Returns | |
---|---|
long |
Returns the number of milliseconds this process has return. |
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. |
int getGidForName (String name)
返回分配给特定用户名的GID,如果没有则返回-1。 如果给定的字符串只包含数字,则直接转换为gid。
Parameters | |
---|---|
name |
String
|
Returns | |
---|---|
int |
long getStartElapsedRealtime ()
返回此过程开始的 elapsedRealtime()
。
Returns | |
---|---|
long |
long getStartUptimeMillis ()
返回此过程开始的 uptimeMillis()
。
Returns | |
---|---|
long |
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. |
int getUidForName (String name)
返回分配给特定用户名的UID,如果没有,则返回-1。 如果给定的字符串只包含数字,则直接转换为uid。
Parameters | |
---|---|
name |
String
|
Returns | |
---|---|
int |
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. |
void killProcess (int pid)
用给定的PID来杀死进程。 请注意,虽然此API允许我们根据其PID来请求终止任何进程,但内核仍会对您确实能够杀死的PID施加标准限制。 通常这意味着只有运行调用者的程序包/应用程序以及由该应用程序创建的任何其他进程的进程; 共享一个通用UID的软件包也能够杀死对方的进程。
Parameters | |
---|---|
pid |
int
|
int myPid ()
返回此进程的标识符,它可以与 killProcess(int)
和 sendSignal(int, int)
一起使用。
Returns | |
---|---|
int |
int myUid ()
返回此进程的uid的标识符。 这是进程正在运行的内核uid,这是其特定于应用程序的沙箱的标识。 它与myUserHandle()
不同之处在于,uid标识特定用户中的特定应用程序沙箱。
Returns | |
---|---|
int |
UserHandle myUserHandle ()
返回此进程的用户句柄。 这是该进程正在运行的用户。 与myUid()
不同的是,特定用户将拥有多个不同的应用程序,每个应用程序都有自己的uid。
Returns | |
---|---|
UserHandle |
void sendSignal (int pid, int signal)
发送信号给给定的过程。
Parameters | |
---|---|
pid |
int : The pid of the target process. |
signal |
int : The signal to send. |
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. |
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. |
也可以看看:
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. |