安卓中的空进程是什么,它有什么作用?

6

什么是Android中的空进程,它有什么用处? 我有时会在我的设备上看到空进程,它显示的是没有服务和活动的进程,也就是说,进程内部没有组件。 作为开发人员,我想知道它是否有用,或者它只是在操作系统层面上有用。

2个回答

13

什么是Android中的空进程

它是一个没有正在运行的活动、服务或广播接收器的进程(如果有任何应用程序内容提供者当前未连接到其中之一,则为相当晦涩的情况)。

它有什么用处

曾经,该进程确实具有活动、服务和/或广播接收器。但是,这些组件在正常操作期间被销毁(例如,一个通过清单注册的接收器从 onReceive()返回)。现在,该进程被保留,以防需要同一应用程序的进程。然而,最终空进程将被终止,以释放系统RAM供其他进程使用。

作为开发人员,我还想知道它是否对我有用,还是只在操作系统级别上有用。

大多数情况下,它是操作系统级别的优化,可改善设备性能和响应速度,与立即终止进程相比。


1
@CommonsWare 这是否意味着,空进程是进程的一种状态,在该状态下,进程已完成其应该执行的任务,并等待操作系统终止它? - Vinod Akkepalli
@VinodAkkepalli:是的,那是一个合理的描述。 - CommonsWare
当我使用最近应用程序按钮关闭手机上的应用程序时,会创建一个空进程...? - c_mnon
1
@c_mnon:我不知道“关闭应用程序”是什么意思。如果您使用概述屏幕(最近任务列表)切换到新任务,则在前台的任何活动都会移至后台。进程没有立即受到影响。 Android 5.0+设备允许您从概述屏幕上滑动条目;这应该终止您的进程,至少如果您没有运行服务。如果用户使用BACK导航退出该进程中所有正在运行的活动,或者通过其他方式完成这些活动,则进程将变为空。 - CommonsWare
@CommonsWare 谢谢。考虑到我问题的不清楚,您理解得非常好...!!! 让我再重述一遍以确保我正确理解。如果我使用 BACK 键导航离开正在运行的 activities,该进程将变为空,但仍将使用 RAM。但是,如果我使用滑动关闭概览屏幕,我将终止该进程(5.0+),并释放所有 RAM。(我想确保我有最大的可用自由 RAM - 这样的事情!!) - c_mnon

2

什么是空进程?

指不包含任何活动应用组件的进程。

它有什么用途?

保持这种类型的进程存在的唯一原因是为了缓存目的,以便下次需要在其中运行组件时提高启动时间。

系统通常会终止这些进程,以平衡进程缓存和底层内核缓存之间的总体系统资源。


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