Android原理 不需要关闭后台运行程序

本文深入探讨了Android系统的内存管理机制,解释了为何不应频繁手动关闭应用程序,并分析了系统如何智能地处理后台进程以优化性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 不用在意剩余内存的大小,其实很多人都是把使用其他系统的习惯带过来来了。android大多应用没有退出的设计
$ }: l
其实是有道理的,这和系统对进程的调度机制有关系。如果你知道java,就能更清楚这机制了。其实和java的回1 Q( b$ D/ C8 H2 d" R: L( `$ M
; z# W9 _, a& _  M# P8 Y& o
收机制类似,系统有一个规则来回收内存。进行内存调度有个阀值,只有低于这个值系统才会按一个列表来关闭# Y; T- G2 u" G3 ~2 w* U" o

用户不需要的东西。当然这个值默认设置得很小,所以你会看到内存老在很少的数值徘徊。但事实上他并不影响
n$ `. G5 g! H8 [% F
速度。相反加快了下次启动使用的速度。这本来就是android标榜的优势之一,如果人为关闭进程,没有太大必
I
要。特别是使用自动关进程的软件5 [* U2 f3 {6 T, @; {/ {

到这里有人会说了,那为什么内存少的时候运行大型程序会慢呢?其实很简单,在内存剩余不多时打开大型程序,8 f( y! q1 b" T5 t5 G& ]* l
& y) o- D0 H. _* e# L. p
会触发系统自身的调进程调度策略,这是十分消耗系统资源的操作,特别是在一个程序频繁向系统申请内存的时
 _  p$ M- I% G& O3 J
候。这种情况下系统并不会关闭所有打开的进程,而是选择性关闭,频繁的调度自然会拖慢系统。所以,论坛上. Z6 ]8 P3 t! q" A8 Q6 x* n

有个更改内存阀值的程序可以有一定改善。但改动也可能带来一些问题,取决于值的设定。 # l+ S2 {- W, X8 P7 T" z1 m% j+ m
: R9 E* a# a, L$ C1 z/ {
那么,进程管理软件有无必要呢?有的。就是在运行大型程序之前,你可以手动关闭一些进程释放内存,可以显
著的提高运行速度。但一些小程序,完全可交由系统自己管理。
y6 z3 L' j: H5 A
谈到这里,可能有的朋友会问,如果不关程序是不是会更耗电。我就说说android后台的原理,你就明白了。
g9 F% W& \: v9 R4 @' G
android的应用在被切换到后台时,它其实已经被暂停了,并不会消耗cpu资源,只保留了运行状态。所以为什' H- l9 H' m3 Z( m
么有的程序切出去重进会到主界面。但是,一个程序如果想要在后台处理些东西,如音乐播放,它就会开启一个
 Q服务。服务可在后台持续运行,所以在后台耗电的也只有带服务的应用了。这个在进程管理软件里能看到,标签
\是service。至于广播什么的我就不涉及了。所以没有带服务的应用在后台是完全不耗电的,没有必要关闭。这种
 S. h5 E' x( ^
设计本来就是一个非常好的设计,下次启动程序时,会更快,因为不需要读取界面资源,何必要关掉他们抹杀这. y! J0 ?6 c" W: L  n

个android的优点呢。) H3 D& r5 ^5 q! a7 a2 h

还有一个,为什么android一个应用看起来那么耗内存。大家知道,android上的应用是java,当然需要虚拟机,
 V2 ?2 s! i- m4 W& M  G' V) \# b
而android上的应用是带有独立虚拟机的,也就是每开一个应用就会打开一个独立的虚拟机。这样设计的原因是
可以避免虚拟机崩溃导致整个系统崩溃,但代价就是需要更多内存。
以上这些设计确保了android的稳定性,正常情况下最多单个程序崩溃,但整个系统不会崩溃,也永远没有内存' `& L+ K! y% O! z7 i( `

不足的提示出现。大家可能是被windows毒害得太深了,总想保留更多的内存,但实际上这并不一定会提升速度,
相反却丧失了程序启动快的这一系统特色,很没必要。
9 q5 e- S( a. Z
大家不妨按我说的习惯来用用这个系统。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值