Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android任务管理器源代码_Android_Android Layout_Android Intent_Android Source - Fatal编程技术网

Android任务管理器源代码

Android任务管理器源代码,android,android-layout,android-intent,android-source,Android,Android Layout,Android Intent,Android Source,我想知道是否有开源的android任务管理器(processmanager/processdetailer)项目可以让我看看。我正在为我的uni项目开发一个应用程序,它将帮助我了解如何寻找一个好的任务经理!有谁知道一些开源项目,我可以在那里阅读或查看源代码!我不需要下载源代码 谢谢大家! 你必须看一看Astrid Task Manager这是一款开源的android应用程序,你可以从中获取源代码。您也可以对此感兴趣。看一看,在开发您自己的应用程序时,它有一个跟踪器,以及您可能需要的所有其他东西都

我想知道是否有开源的android任务管理器(processmanager/processdetailer)项目可以让我看看。我正在为我的uni项目开发一个应用程序,它将帮助我了解如何寻找一个好的任务经理!有谁知道一些开源项目,我可以在那里阅读或查看源代码!我不需要下载源代码


谢谢大家!

你必须看一看Astrid Task Manager这是一款开源的android应用程序,你可以从中获取源代码。您也可以对此感兴趣。

看一看,在开发您自己的应用程序时,它有一个跟踪器,以及您可能需要的所有其他东西都在一个地方。

简言之,任务杀手通过轮询操作系统来查找当前正在运行的进程列表和它们正在消耗的内存。然后,通过智能算法或用户输入,任务杀手向系统发出一个调用,告诉系统终止进程。有两个API可以实现这一点

它们是:

Process.killProcess(int pid) 

ActivityManager.killBackgroundProcesses(String packageName) 
首先调用Process.killProcess(intPID),其中pid是特定流程的唯一标识符。Android以与linux相同的方式杀死进程;但是,用户只能终止自己拥有的进程。在Android中,每个应用程序都使用唯一的UID(用户ID)运行。使用此API的应用程序一个应用程序只能终止自己的进程,因此Process.killProcess(int-pid)的文档中有以下解释:

使用给定的PID终止进程。请注意,尽管此API允许我们根据进程的PID请求终止任何进程,但内核仍然会对实际能够终止的PID施加标准限制。通常这意味着只有运行调用者的包/应用程序的进程和该应用程序创建的任何附加进程;共享公共UID的包也将能够杀死彼此的进程。 当调用此方法时,信号由操作系统生成并发送到进程。每当进程接收到来自操作系统的信号时,它必须要么处理该信号,要么立即停止。诸如SIG_KILL之类的信号无法处理,并导致接收方进程立即死亡。如果您想杀死您没有权限杀死的进程,即它不是您的进程,那么您必须切换用户或升级您的权限(在android上,这需要设备上的root权限)

第二个API的工作原理是告诉内置ActivityManager您想要终止与特定包相关联的进程。此API绕过了UID与进程UID匹配的需要,因为它要求用户接受KILL\u BACKGROUND\u processs权限。此权限向操作系统发出信号,表示用户已将某个应用程序批准为任务杀手。当任务杀手想要杀死一个应用程序时,它会告诉操作系统杀死该进程,从而允许应用程序绕过只能杀死其拥有的进程的问题

在Android文档中,它说这个API实际上使用了第一个Process.killProcess API

让系统立即终止与给定包关联的所有后台进程。这与内核杀死这些进程以回收内存是一样的;系统将根据需要在将来重新启动这些进程。
如果您想了解更多信息,我建议您阅读Posix信号和Linux kill命令

堆栈溢出不能替代好的搜索引擎。astrid不是进程管理器,freetaskmanager太旧,无法直接构建。