第一个问题比较复杂,和安卓的进程管理策略有关,和软件的权限设置有关,和消息推送机制有关。
第二个问题,主要和手机内存大小以及手机厂商的系统设定有关。
下面开始详细分析:
首先回答第一个问题:
原因一 ,安卓的进程管理策略和windows不一样,关闭应用并非立刻结束进程,而是将进程保留在内存中。这样做的目的是为了再次打开该应用时,能够提升启动速度。同时,保留在内存中的进程一般不太占资源,基本不影响整体的运行速度。
当然,内存大小是有限的,进程保留不可能无限,系统会设定一个阈值,当内存占用达到一定程度后,系统就会开始关闭用户后台进程(判断规则由不同厂商的系统决定)。
这也是安卓手机内存越大,系统越流畅的原因,因为能保留的进程越多,软件启动速度就越快。
原因二 ,中国的安卓应用良莠不齐,APP乱象丛生,喜欢调用各种敏感权限,方便收集用户数据等等。所以,很多APP都设置了自动启动,哪怕你关闭了应用,也会重新启动。
原因三 ,安卓的消息推送机制和IOS不一样,IOS有苹果专门搭建的消息服务器。所有APP的消息都是先发给苹果的消息服务器,再由服务器发送到IOS设备,这样,APP无需常驻后台。
而安卓系统不行,手机厂商各自为战,APP也只能各走各的通道,所以,像是微信、QQ这种应用,就必须常驻后台。
接下来是第二个问题:
原因一 ,上文谈到,手机内存大小有限,当保留的进程超过阈值后,系统就会开始关闭后台进程(切换走的应用就会变成后台进程)。如果你的应用恰好被系统判定为优先关闭,那么肯定会迅速关闭。
解决这个问题的方法,就是换一台大内存的手机。
原因二 ,跟手机厂商的系统设定有关。保留在内存中的进程一般不太占资源,但是积少成多,总会影响系统整体的运行速度,同时也会加重cpu负荷,导致费电。
现在电池技术迟迟无法突破,所以,手机厂商为了保障手机续航,也为了提高系统流畅度,会将阈值设置的比较小,很容易开始关闭后台进程,也就是俗称的杀后台严重。
当然,我上面列举的原因并不全面,但希望对你有所帮助。
希望我的回答对你有所帮助
安卓系统会缓存程序,供后续再次打开程序时使用。
一种是手机系统白名单应用,退出了会一直在后台运行,不会被系统结束掉,就算用户手动结束了,他也会自启动,另外一种是通过其它运行的应用启动他
你是要保存发过来的每个字符串呢,还是要保存最后一个呢。Android保存数据的方式有很多种,比如通过SharedPreference,数据库,File等等,其实不管是保存哪些数据,你只要按照你自己的需求将你想保存的数据通过这几种方式中的一种来保存就可以了。比如你把你的数据保存在手机存储卡的file中,在下次启动程序的时候去file中进行读取文件。主要是看你想通过哪种方式来保存你的数据了。望采纳。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)