小米手机Android内存管理基本情况介绍

113 篇文章 0 订阅
4 篇文章 0 订阅

1 Android Binder,基于OpenBinder框架的一个驱动,用于提供Android平台的进程间通讯(IPC,inter-process communication)。 源代码位于drivers/staging/Android/binder.c

2 Android 电源管理(PM) ,一个基于标准Linux电源管理系统的轻量级的Android 电源管理驱动,针对嵌入式设备做了很多优化。源代码位于kernel/power/earlysuspend.c kernel/power/consoleearlysuspend.c kernel/power/fbearlysuspend.c kernel/power/wakelock.c kernel/power/userwakelock.c

  3 低内存管理器(Low Memory Killer) ,相对于Linux标准 OOM(Out Of Memory)机制更加灵活,它可以根据需要杀死进程来释放需要的内存。 源代码位于drivers/staging/Android/lowmemorykiller.c

  4 匿名共享内存(ashmem) ,为进程间提供大块共享内存,同时为内核提供回收和管理这个内存的机制。 源代码位于mm/ashmem.c

  5 Android PMEM(Physical) ,PMEM 用于向用户空间提供连续的物理内存区域,DSP和某些设备只能工作在连续的物理内存上。 源代码位于drivers/misc/pmem.c

  6 Android Logger ,一个轻量级的日志设备,用于抓取Android 系统的各种日志。 源代码位于drivers/staging/Android/logger.c

  7 Android Alarm ,提供了一个定时器用于把设备从睡眠状态唤醒,同时它也提供了一个即使在设备睡眠时也会运行的时钟基准, 源代码位于drivers/rtc/alarm.c

  8 USB Gadget 驱动 ,一个基于标准Linux USB gadget 驱动框架的设备驱动,Android的USB驱动是基于gaeget框架的, 源代码位于drivers/usb/gadget/

  9 Android Ram Console ,为了提供调试功能,Android允许将调试日志信息写入一个被称为RAM Console的设备里,它是一个基于RAM的Buffer。 源代码位于drivers/staging/Android/ram_console.c。

  每个Android应用都运行在一个单独的进程在它自己的Dalvik的实例,负责所有的Android运行时的内存和进程管理的责任,停止和死亡过程的必要的管理资源。

  Dalvik 和Android运行时间在一个Linux内核,处理低层次的硬件交互,包括驱动程序和内存管理,其API提供下层的服务,功能,和硬件的访问。

  Dalvik虚拟机是基于寄存器的虚拟机的优化,以确保设备可以有效地运行多个实例。 它依赖于Linux内核线程和低级的内存管理。

  Android采取了一种有别于Linux的进程管理策略,有别于Linux的在进程活动停止后就结束该进程,Android把这些进程都保留在内存中,直到系统需要更多内存为止。这些保留在内存中的进程通常情况下不会影响整体系统的运行速度,并且当用户再次激活这些进程时,提升了进程的启动速度。

  所以用小米的孩纸 内存的占有率越高 进程的运行才越稳定,出现FC的情况也能相对减少, 小米的内存对于目前的电子市场的软件能吃得消 大家不必每天纠结内存占用多少的问题。安卓Android后台的原理,你就明白了.安卓Android的应用在被切换到后台时,它其实已经被暂停了,并不会消耗cpu资源,只保留了运行状态.所以为什么有的程序切出去重进会到主界面.但是,一个程序如果想要在后台处理些东西,如音乐播放,它就会开启一个服务.服务可在后台持续运行,所以在后台耗电的也只有带服务的应用了.这个在进程管理软件里能看到,标签是service.至于广播什么的我就不涉及了.所以没有带服务的应用在后台是完全不耗电的,没有必要关闭.这种设计本来就是一个非常好的设计,下次启动程序时,会更快,因为不需要读取界面资源,何必要关掉他们抹杀这个安卓Android的优点呢?

  Android 手机的应用程序很多都没有退出的设计,其实这是有道理的,这和Android手机系统对进程的调度机制有关系。如果你知道java,就能更清楚Android手机的机制了。Android手机的这种机制和java的垃圾回收机制类似,系统有一个规则来回收内存。

  进行内存调度有个阀值,只有低于这个值系统才会按一个列表来关闭用户不需要的东西。当然这个值默认设置得很小,所以你会看到Android手机内存老在很少的数值徘徊。但事实上他并不影响速度。相反加快了下次启动应用的速度。这本来就是Android手机标榜的优势之一,如果人为去关闭进程,没有太大必要。特别是使用自动关进程的软件。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值