- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
也许你可以帮忙。
是否有可能获取所有在 Android 系统中运行的 Processes
的列表,并杀死其中的一些?我知道有一些应用程序(task manager
),但我想编写自己的简单应用程序。
我想写一个简单的任务管理器,只是列出所有进程和会杀死其中一些的按钮。
你能不能写一些我可以调用的Java方法来获取进程列表,以及杀死它们的方法。或者只是给我一些建议。
最佳答案
杀死 Android 中的应用程序/服务通常是一个非常糟糕的主意。虽然可以编写 task killer
应用程序,但不应鼓励将其用于开发/调试目的之外的任何事情。
任务管理是 Android 操作系统的职责,你能看到的任务不是进程(例如你在 Windows 任务管理器中看到的进程),事实上,只有当 Android 告诉他们可以拥有一个进程时,他们才会拥有一个进程。
应用程序经常被这些任务管理工具破坏,因为它们经常无法从强制终止中恢复,特别是当它们被杀死时正忙于写入文件或使用其他资源时。它还使手机用户误以为列出的应用程序实际上是在他们的手机上RUNNING,而他们通常不是。这在 [ActivityManager 文档][1] 中有解释:
Information you can retrieve about a particular task that is currently "running" in the system. Note that a running task does not mean the given task actual has a process it is actively running in; it simply means that the user has gone to it and never closed it, but currently the system may have killed its process and is only holding on to its last state in order to restart it when the user returns.
当您在 TaskKiller 或 Quick System Info 等应用程序中看到 running
应用程序列表时,其中许多实际上并未运行,它们只是处于暂停状态。这些应用程序不会消耗系统资源,因为 Android 已决定在再次需要它们之前停止它们。但是,当您杀死它们时,您没有给它们时间干净地关闭,并且当您下次尝试启动它们时,您可能会看到一个不友好的强制关闭对话框。我看到应用程序完全崩溃,甚至重新安装也无效,因为它们试图读取 SD 卡上损坏的文件,或者它们使用非官方 API 调用。
简而言之, friend 不要让 friend 在 Android 中使用任务 killer 。
无论如何,为了回答您的问题,ActivityManager
是大多数这些应用程序用来列出处于运行/暂停状态的 Activity 的工具。
freetaskmanager是正在使用的这些任务管理器
之一的示例。
关于Android进程 killer ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2720164/
我正在尝试编写一个简单的任务 killer 。我知道我不应该在 Android 中终止任务,但我很想尝试这样的事情。我有以下代码: List procInfo = activityManager.ge
也许你可以帮忙。 是否有可能获取所有在 Android 系统中运行的 Processes 的列表,并杀死其中的一些?我知道有一些应用程序(task manager),但我想编写自己的简单应用程序。 我
(系统=编程语言,框架等) PHP具有一些严重的好处,其他编程语言及其框架却忽略了这些好处。 其中之一是易于部署。只将文件放入与URL相匹配的目录中感觉很脏。但这是非常简单和直接的。无论您如何看待语言
我们让这位客户提示说,产品在正常运行 2-5 分钟后不断崩溃。经过几天的猜测,我们得出了以下结论: 当进程终止而不留下任何痕迹(事件日志/崩溃转储)时,有两个选项: 1.我们自己的进程在调用 Term
我正在 Genymotion 模拟器中调试应用程序,当应用程序开始出现异常时,我已经厌倦了终止应用程序。梦想是有一些预先配置的一键式(一键式)应用程序 killer 来终止(或卸载)一个特定的应用程序
我在绘制太大的图像时遇到问题,它会杀死我的应用程序。 出现以下错误: java.lang.RuntimeException: Canvas: trying to draw too large (num
我想知道如果C#是性能杀手,为什么C#会提供lambda表达式? 尝试运行以下命令: Stopwatch sw = new Stopwatch(); sw.Start(); x = x.Selec
我有一个作为 Windows 服务运行的 python 程序,在我看来它确实捕获了所有异常。在我的开发环境中,当程序崩溃时,我无法重现任何没有记录异常的情况。除了 2 种情况:程序被任务管理器杀死或者
你们中的一些人可能偶然发现了这篇可爱的文章 - http://igoro.com/archive/quicksort-killer/\ 真正有趣的是他如何修复快速排序以在 O(N log N) 内针对
几周前,我的一个 friend 向我展示了一个网站,其中解释和描述了最流行网站的架构(youtube、amazon、facebook),它还显示了一些关于它们的有趣统计数据。 有谁知道我在哪里可以找到
摧毁僵尸网络的最佳方法不是来自编写自己的病毒吗? 防病毒软件从不冒犯。它只是等待那些有足够时间窃取/下载/安装 X 软件、测试其防御并向其无人机/僵尸部署新更新以利用 X 软件弱点的人的攻击。因此,立
我已经阅读了很多关于这个主题的内容,但我仍然感到困惑。似乎普遍的答案是否定的。但是我发现了一个似乎可以“欺骗”任务 killer 的应用程序。是GO接触EX。即使它正在运行(可以在设置->管理应用程序
我有一个基于 docker 镜像 tomcat-9.0.13-jre11 的 docker 容器内正在运行的 Web 应用程序。容器收到来自 linux 系统的 kill 消息。 我找到的唯一信息来自
我们正在使用 X-Frame-Options header 和可能本页描述的 JS/CSS 设置实现点击劫持保护: https://www.owasp.org/index.php/Clickjacki
我目前正在学习 C,并达到了(哈哈...)学习指针的地步。我想我已经对它们有所了解,并且我想我了解了它们的概念。 如果我有一个名为“c”的指针和一个名为“a”且值为 5 的整数,我将执行以下操作: *
$ mlockall schedtool -R -p 4 -e ionice -c1 mplayer -really-quiet whatever.ogg $ mempig Killed Mplaye
我的邮件从这条规则中得到 1.6 分(最多 2 分被分类为垃圾邮件): SpamAssassin 规则:HTML_IMAGE_ONLY_24 标准描述:HTML:包含2000-2400字节文字的图像
看完this question关于 Windows 内存分配器看似退化的行为,并回想起 this paper关于构建快速排序实现的最坏情况输入,我开始想:是否有可能构建一个程序,给定一个黑盒内存分配器
我正在使用 Busybox 测试和嵌入 linux CPE; BusyBox v1.00 (2012.07.10-03:48+0000) multi-call binary 我想尝试使用盒子上所有可用
从大约一年(也许更多)开始,我不断有进程被 linux oom-killer 杀死。运行的机器是我的 htpc 使用 ubuntu gnome 15.04(当前)。 每天一次或有时连续 10 次被杀死
我是一名优秀的程序员,十分优秀!