问题:android的内存组成?
先说答案:
大范围的讲就是三种东西组成整个Android内存系统:
RAM,内部储存,外部储存(都是硬件)
RAM:
指的是运行内存(Random Access Memory,随机存取储存器)
买手机时候说的运行内存 电脑的内存条啊 就是这个东西
内部储存:
焊死在主板上的,手机内部的存储硬件
外部储存:
SD卡 可以拆卸的
为什么会分为三种储存呢?
满足不同的需求
RAM:
高速的短暂数据处理。存取速度:通常在几十纳秒(ns)到几百纳秒的范围内。
因为CPU处理信息的速度非常快,它需要一种与之匹配的存储解决方案来临时存储和访问数据。
提供了临时数据储存(跟cpu一起干活的不快怎么行)
所以打开应用程序啊游戏啊就是把他们的数据加载到RAM里面,以便快速访问
(不然点一下等一辈子响应吗)
但是,一旦手机断电,这些储存的数据就会消失,所以就需要不容易丢失的储存,内部外部都是不容易丢失
内部储存:
存取速度:通常在几十微秒(μs)到几毫秒(ms)的范围内。
手机系统,应用程序的文件,用户的个人设置、应用程序的数据(如数据库)、用户文件 都会存在这个里面,用来存储一些比较重要的数据都会放在这个里面,这个要跑的快一点
外部存储:
存取速度:通常在几毫秒(ms)范围内。
用于存储照片、视频、音乐和其他文件。一些可有可无的东西就可以放在这里啦,当然这些也可以放在内部储存,以前是容量少嘛,现在基本都是大容量内部储存,甚至没有外部储存啦
原因就是内部储存速度快,而且是在主板上的 防水密封这些都可以更好实现,就是内部储存会更贵
以上是对Android的内存组合一个详细的介绍
接下来就讲内存优化啦!
什么是内存优化,内存优化到底在优化什么东西!
先说答案:
内存优化指的是对RAM的优化,为什么呢,因为内部储存和外部储存都是长期的储存优化,手机关机了都不会有影响,而RAM,是你app运行的时候快速响应的内存,系统,应用 都会同时在分配这个内存,你无限制的打开程序,那RAM就会跑满,存也存不到取也取不了,那肯定就变卡啊,所以内存优化,就是优化对RAM的使用,合理的使用 RAM
包括读取、写入和释放内存
一个应用程序在其生命周期中会以不同的方式使用RAM(随机存取内存)。以下是一个应用程序使用RAM的一般过程,包括读取、写入和释放内存的时机:
启动时读取:
当用户启动应用程序时,操作系统会为其分配一定量的RAM。
应用程序的执行代码会被加载到RAM中,以便CPU可以直接访问和执行。
应用所需的资源(如图像、音频、预设数据等)也会被加载到RAM中。
运行时读写:
在运行期间,应用程序会根据用户交互和内部逻辑不断地进行读写操作。
用户界面的更新、状态的变化以及数据的处理都会涉及到内存的读写。
应用程序可能会分配更多的内存来存储临时数据或缓存。
后台处理:
即使用户不直接与应用程序交互,它也可能在后台运行,执行如同步数据、处理通知等任务。
这些操作同样需要读写内存,尽管可能不如前台操作频繁。
内存的释放:
当应用程序不再需要某些数据时,它会通知操作系统释放这些内存,这通常是通过垃圾回收(GC)机制完成的。
当用户退出应用程序或操作系统需要回收内存时,应用程序所占用的内存将被释放。
操作系统会根据需要和应用程序的状态(如是否处于后台)来管理内存的释放。
优化内存使用:
尽量优化内存使用,避免内存泄漏以及不必要的内存分配。
他们会使用各种工具和策略来监测和优化内存使用,如定时释放无用数据,使用缓存策略,合理安排资源加载和卸载的时机。
网友评论