Android虚拟内存和分页

时间:2011-04-13 19:09:38

标签: android paging virtual-memory

任何人都可以详细说明或提供Android内存管理的链接。我对Android虚拟内存方案感到困惑。如何在Android中完成分页?没有硬盘,他们怎么做?他们有缓存吗?

2 个答案:

答案 0 :(得分:4)

答案 1 :(得分:0)

Linux内核和jvm应该被视为苹果和橘子。混淆两者可能是灾难性的。

例如,linux内核的虚拟内存本质上是一个交换文件,并没有对单个进程大小设置限制,这会在文件已满时导致“颠簸”或无休止的交换。

与之形成鲜明对比的是,jvm(它只是另一个linux进程)为其应用程序设置了一个共同的最大大小(例如256MB)。 Android应用程序通常在自己的jvms中运行,防止任何给定的jvm“颠簸”。相反,GC将抛出一个OOM并退出。

当内存虚拟内存耗尽时,Android将进一步杀掉应用程序(包含活动线程组的任务的jvms),如果需要,稍后重新启动它们。它仍然可以冻结(捶打),但不是经常冻结,例如。无人值守的Linux数据库或Web服务器。

颠簸(冻结)android的解决方案与颠簸的linux服务器完全相同。弹跳(循环动力)。因为它是一个linux服务器。

考虑到Android已经为全世界提供了数百万个完全连接但大多数空闲无处不在的Linux服务器,这些服务器可以容纳无数群多线程进程(jvms只有一种类型)。

它拥有终极超级计算机的骨骼,甚至使最精细的数据中心相形见绌。

甚至没有提到大多数机器人都有并行处理器(GPU)比它们的CPU快100倍,再次只是闲置。除了一些知道如何解雇他们的游戏玩家。

仅作为概述,这个帖子上已有很好的链接。