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

时间:2014-03-13 07:52:15

标签: android linux memory-management

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

Android does not use swap
https://developer.android.com/tools/debugging/debugging-memory.html#ViewingAllocations

中的

如何理解?

1 个答案:

答案 0 :(得分:2)

它说Android不会将ram页面转储到持久存储。

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

Android采取了一种有趣的方法。您基本上只序列化应用程序的关键部分,而不是序列化整个过程映像。通常,系统序列化的应用程序部分是状态信息和导航信息。如果系统同意包含您的状态信息,那么它可以重新创建您的视图并将其状态重置为当您的进程被杀死以回收内存时的状态。这是一个非常好的折衷方案,因为它强制实施良好的应用程序设计并防止颠簸。