Android 当进程被终止时,如何从memroy中清除进程

Android 当进程被终止时,如何从memroy中清除进程,android,memory-management,Android,Memory Management,如何在进程被终止时从内存中清除进程,我不在乎进程是否为空或什么也不做。只是想把它从记忆中清除 或 在一次读取1M文件后,当读取两次时,它将从内存/缓存中读取。 问题是,在一次读取之后,它是否可以从内存或缓存中清除 谢谢最好的答案是:你没有“清除它”:你让android来处理它们。如果需要内存,任何进程都将被终止。关于缓存,垃圾收集器将处理它。同样,你不需要做任何事情(也许,除了确保你没有在某处留下对它的实时引用) 我在android博客中引用了以下部分内容: 应用程序何时“停止” 常见的误解 A

如何在进程被终止时从内存中清除进程,我不在乎进程是否为空或什么也不做。只是想把它从记忆中清除

在一次读取1M文件后,当读取两次时,它将从内存/缓存中读取。 问题是,在一次读取之后,它是否可以从内存或缓存中清除


谢谢

最好的答案是:你没有“清除它”:你让android来处理它们。如果需要内存,任何进程都将被终止。关于缓存,垃圾收集器将处理它。同样,你不需要做任何事情(也许,除了确保你没有在某处留下对它的实时引用)

我在android博客中引用了以下部分内容:

应用程序何时“停止”

常见的误解 Android多任务是不同的 在进程和应用程序之间。 在安卓系统中,这些都不是很严格 耦合实体:应用程序可能 似乎在用户面前没有 当前正在运行的实际进程 应用程序;多个应用程序可以共享 进程,或一个应用程序可以 使用多个进程取决于 它的需要;一个或多个事件的过程 申请书可由专人保管 即使应用程序是 不积极地做某事

事实上,你可以看到 应用程序的进程“正在运行”时 这并不意味着应用程序正在运行或停止 做任何事。它可能就在那里 因为Android在某些时候需要它 并已决定 最好把它放在身边,以防万一 我又需要它了。同样,你也可以 留一份申请表一点时间 从你离开的地方回到那里 关闭,在此期间,Android可能会 我们需要摆脱这个过程 其他事情

Android如何处理的关键 这样的应用程序是 进程不会完全关闭。 当用户离开应用程序时, 它的过程保持在 背景,允许它继续 工作(例如下载网页) 如果需要,请立即访问 如果用户返回,则返回前台 去吧。如果设备从未用完 内存,那么Android将保留所有 这些过程围绕着你,真的离开了 所有应用程序“运行”所有 时间

当然,数量是有限的 为了适应这种情况 安卓必须决定什么时候摆脱它 不需要的过程。这 导致Android的流程生命周期, 它用来决定如何使用的规则 每个过程都很重要,因此 下一个应该放弃的。这些 规则基于两者的重要性 流程是针对用户的当前 经验,以及它有多长时间 自上次需要该流程以来一直存在 由用户提供


如果您希望终止进程,这可能会有所帮助

 int pid = android.os.Process.myPid();
     android.os.Process.killProcess(pid);
  Runtime r = Runtime.getRuntime();

    r.gc();
    System.gc();

您想终止应用程序进程。