`
80demon
  • 浏览: 71741 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Android内存管理基本介绍

 
阅读更多

 Android内存管理基本介绍

  Android 内核是基于Linux 2.6内核的(目前最新开发版本是2.6.31),它是一个增强内核版本,除了修改部分 Bug 外,它提供了用于支持 Android 平台的设备驱动,其核心驱动主要包括:

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

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

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

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

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

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

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

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

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

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

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

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

分享到:
评论

相关推荐

    Android代码-安卓内存清理 改进版

    安卓手机内存清理 开源版,包括内存加速,垃圾清理,自启管理,软件管理等。 说明 >现修复android5.0以上不能查看进程的问题,暂时不能支持7.0的查看进程的功能,欢迎各位提出相应的意见或建议,如不能配置好环境,...

    嵌入式开发经验:Android系统的内存管理研究

    本文将集中分析Android的内存管理,因为Android系统是在Linux系统的基础上发展起来的,所以在介绍Linux基本的内存管理的基础上对Android的内存管理进行研究。

    Android应用源码一键清理内存缓存加速自启管理软件管理

    实现的功能有:基本功能、内存加速、缓存清理、自启管理、软件管理、设备信息等。项目用到的开源项目有:Open source projects、ButterKnife、changelog、smoothprogressbar、ListViewAnimations、LDrawer、...

    Android系统的内存管理研究

    本文将集中分析Android的内存管理,因为Android系统是在Linux系统的基础上发展起来的,所以在介绍Linux基本的内存管理的基础上对Android的内存管理进行研究。

    浅谈Android系统的基本体系结构与内存管理优化

    主要介绍了Android系统的基本体系结构与内存管理优化,非常简洁明了地总结了系统服务及垃圾回收等安卓的一些主要特性,需要的朋友可以参考下

    ANDROID编程思想

    Android基础知识 Android开发环境 Android_GWES Android安全机制 Android进程间通信 Android_Camera架构 ...Android内核驱动——内存管理 Android内核驱动——杂项 Android内核驱动——Alarm Android虚拟机

    CacheManage::fire:android缓存管理器,分为内存缓存和文件缓存两种 先取内存数据,没有再从文件缓存中取

    android缓存管理器,分为两级缓存:内存缓存和文件缓存;先取内存数据,没有再从文件缓存中获取特点封装,继承其所有功能二级缓存内存缓存(采用SoftReference和LruCache,防止内存溢出)文件缓存(由ASimpleCache...

    深入解析ANDROID虚拟机

    分别讲解了android系统基础知识,android系统的结构和核心框架,Java虚拟机和Dalvik虚拟机的知识,实现程序编译和调试,Dalvik的运作流程,DEX优化和安全管理,Android虚拟机生命周期的管理和内存分配策略,...

    Android驱动开发权威指南

    3.2.2内存管理综述 3.2.3文件系统综述 3.2.4设备驱动简述 第4章Linux内核编程与内核模块 4.1 Linux内核源代码目录结构 4.2 Linux内核的编译与启动 4.3 Linux内核的C编程 4.4 Linux内核模块基础与骨架 4.5 Linux模块...

    Android高级编程--源代码

     《android高级编程》首先简要介绍android软件栈,接着陈述为手机创建稳定可靠、赏心悦目的应用程序的基本原理。通过学习,您可以打下牢固的理论根基,了解使用当前android 1.0 sdk编写定制移动程序所需的知识,还...

    《Android应用开发揭秘》附带光盘代码.

     1.1 Android基本概念  1.1.1 Android简介  1.1.2 Android的系统构架  1.1.3 Android应用程序框架  1.2 OMS介绍  1.2.1 OPhone介绍  1.2.2 Widget介绍  1.3 小结  第2章 Android开发环境搭建  2.1 Android...

    《Android高级编程》

    《Android高级编程》首先简要介绍Android软件栈,接着陈述为手机创建稳定可靠、赏心悦目的应用程序的基本原理。通过学习,您可以打下牢固的理论根基,了解使用当前Android 1.0 SDK编写定制移动程序所需的知识,还能...

    Android应用开发揭秘pdf高清版

    最重要的是还全面介绍了如何利用原生的C,C++(NDK)和Python、Lua等脚本语言(AndroidScriptingEnvironment)来开发Android应用,《Android应用开发揭秘》实战性强,书中的每个知识点都有配精心设计的示例,尤为...

    《Android应用开发揭秘》源码

     1.1 Android基本概念  1.1.1 Android简介  1.1.2 Android的系统构架  1.1.3 Android应用程序框架  1.2 OMS介绍  1.2.1 OPhone介绍  1.2.2 Widget介绍  1.3 小结  第2章 Android开发环境搭建  2.1 Android...

    Android 常用六大框架

    FinalBitmap的内存管理使用lru算法, 没有使用弱引用(android2.3以后google已经不建议使用弱引用,android2.3后强行回收软引用和弱引用,详情查看android官方文档), 更好的管理bitmap内存。FinalBitmap可以...

    《Android内核剖析》的附图(无乱码)

    《Android内核剖析》一书附带的图 附图名称如下: 附图1:Framework基本框架 附图2:Activity中创建窗口的过程 附图3:点击图标启动Activity 附图4:Activity的停止以及内存回收时机 附图5:按键消息获取流程 ...

    Android程序设计基础

    第1~3章介绍Android的基础知识和基本概念;第4~6章介绍2D图形、多媒体和存储本地数据;第7~10章介绍高级主题,包括联网、定位与环境感知、数据库和3D图形;附录介绍了Android与Java之间的差别以及参考书目。  ...

    新版Android开发教程.rar

    � 采用了对有限内存、电池和 CPU 优化过的虚拟机 Dalvik , Android 的运行速度比想象的要快很多。 � 运营商(中国移动等)的大力支持,产业链条的热捧。 � 良好的盈利模式( 3/7 开),产业链条的各方:运营商、...

Global site tag (gtag.js) - Google Analytics