myPid、myTid和myUid之间的区别

4
::

:: 的区别

int pid = android.os.Process.myPid();
android.os.Process.killProcess(pid);
             //And 
int pid = android.os.Process.myTid();
android.os.Process.killProcess(pid);
             //And  
int pid = android.os.Process.myUid();
android.os.Process.killProcess(pid);
1个回答

6
只有第一个示例可以获取实际的进程ID并正确地终止进程。其他示例会失败,因为您将错误的进程ID传递给了killProcess()。
从文档中可以看到:
myPid()- 返回此进程的标识符,可与killProcess(int)和sendSignal(int,int)一起使用。
myTid()- 返回调用线程的标识符,可与setThreadPriority(int,int)一起使用。
myUid()- 返回此进程用户的标识符。
killProcess(int pid)- 终止具有给定PID的进程。
有关详细信息,请参见文档。 http://developer.android.com/reference/android/os/Process.html 以下是一些附加链接:

我的问题是我有10个活动,每个活动中都有很多资源,所以当应用程序一个接一个地运行时,它会变得非常缓慢,那么我该如何终止特定的活动进程? - Nikunj Patel
@Dr.nik 结束进程会停止你的整个应用程序,在Android上通常不鼓励这样做。如果您的应用程序正在使用过多的资源,我建议直接解决问题并尝试最小化您的资源管理。您可以在OnPause和OnResume期间释放(并重新打开)数据。此外,请查看DDMS中的内存跟踪工具。 - spatulamania
@Dr.nik 我已经在回答中添加了链接。 - spatulamania

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接