繁体   English   中英

应用在关闭后正在运行

[英]App is running after closing

每当我尝试关闭前台服务时,即使未打开任何活动,我的应用程序仍会继续运行。 我进行了一些分配和功能跟踪测试,并注意到,但是,我的应用程序仍处于打开状态,并使用了几MB的内存,在关闭服务后没有调用我的任何方法。 只有Java和Android的东西。 哦,看来我的应用在此期间也泄漏了内存。 根据我的应用程序的Java堆,实例化了成千上万个FinalizerReferences。 这会导致如此大的问题吗?为什么会这样呢?

它是这样的:

在此处输入图片说明

它的默认android属性,即使您关闭了应用程序,该应用程序仍继续在后台运行,服务等功能很少在后台运行。 您可以强行退出我不建议的应用程序,或者让android在需要时自动关闭它

Android应用及其组件具有独特的生命周期。 参见此处: http : //developer.android.com/guide/components/processes-and-threads.html

这就是android的工作方式,您拥有的每项活动和服务都只能在一个称为UI线程的线程中执行,该线程本身以及您创建的其他线程都在单个进程中运行。

在systme有足够的内存来容纳新内容之前,Android不会关闭该过程,因此,如果您要再次运行程序,则它会尽快启动。 但是您可以使用exit()函数终止整个过程。

实际上,活动或服务不是程序,而是在程序进程内部的UI线程中运行的一段代码,现在,该程序就是您的程序,即使通过广播接收方调用也可以启动该程序!

当您想完全关闭应用程序时调用finish()会杀死该应用程序并释放其资源。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM