android - Android内存管理和Linux内存管理有什么区别?

标签 android linux memory-management

<分区>

Android内存管理和Linux内存管理有什么区别? 我读了

Android does not use swap

https://developer.android.com/tools/debugging/debugging-memory.html#ViewingAllocations

如何理解?

最佳答案

这是说 Android 不会将 ram 页面转储到持久存储中。

如果内存不足,作为内核,您有几个选择,通过终止进程释放内存,或将进程镜像(或进程镜像的一部分)转储到持久存储。这些 fragment 称为页面,用于转储页面的持久存储区域在 Linux 上称为交换空间,在 Windows 上称为页面文件。

Android 采用了一种有趣的方法。您实际上只序列化应用程序的关键部分,而不是序列化整个过程镜像。通常,系统序列化的应用程序部分是状态信息和导航信息。如果系统同意打包您的状态信息,那么它可以重新创建您的 View 并将它们的状态重置为您的进程被终止以回收内存时的状态。这是一个很好的折衷方案,因为它强制进行良好的应用程序设计并防止抖动。

关于android - Android内存管理和Linux内存管理有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22372303/

相关文章:

android - 是否有一些默认的边框背景?

c++ - 是否有 Linux 等效的 SetupDiGetClassDevs 函数

java - 在实例创建或使用 new 关键字创建对象期间何时分配内存?

android - Renderscript 中的内存分配

android - 将应用程序转移到我在 Play 商店和 App Store 中的开发者帐户

android - 接收蓝牙发现的广播错误

linux - Grep 包含多个元字符的字符串并在匹配后提取 3 行

linux - linux下X上的系统范围键盘 Hook

c++ - 大量页面错误与内存碎片有什么关系?

android - 是否可以从 Android 上的 TOF(飞行时间)传感器读取数据?