作者:小白学习哈 | 来源:互联网 | 2023-09-03 14:08
按home键使程序在后台运行,其间程序间隔几分钟执行连接服务器的任务,在两个小时内,点击程序图标能正常进入程序并显示之前运行的界面,但是两个小时后,点出程序图标时,没有显示之前的界面,而是程序重新启动
按home键使程序在后台运行,其间程序间隔几分钟执行连接服务器的任务,在两个小时内,点击程序图标能正常进入程序并显示之前运行的界面,但是两个小时后,点出程序图标时,没有显示之前的界面,而是程序重新启动了(比如显示splash界面),似乎程序在后台运行一段时间后被系统关掉,这什么原因?
7 个解决方案
android内存管理 有关吧
下周也得做个与lz类似的东东 纠结呀
Android系统有自动回收资源。。。
你可以把你的程序写个Service在后台运行,而Activity是有生命周期的,一般按Home键是挂后台的,这个Acitivity是否被系统回收,依赖于系统内存是否吃紧了,如果吃紧的话,就有可能被回收了
对头,系统内存吃紧,会自动回收,回收了以后,当然要重新启动了
一般来说,启动运行一个程序是有一定的时间开销的,因此为了 加快运行速度,当你退出一个程序时,Android并不会立即杀掉它,这样下次再运行该程序时,可以很快的启动。随着系统中保留的程序越来越多,内存肯定 会出现不足,这个时候Android的 "LowMemory Killer",由程序的重要性来决定杀谁。通俗来说,谁不干活,先杀谁。Android将程序的 重要性分成以下几类,按照重要性依次降低的顺序:
前台程序,可以理解为你正在使用的程序
用户可见的程序
后台服务,比如说QQ会在后台运行服务
HOME,就是主界面
被隐藏的程序
内容提供者CONTENT_PROVIDER
EMPTY_APP