2013-06-30 56 views
0

我有一个本地android应用程序,它可以对Malloc进行大量调用。我正在尝试分配一大块RAM,然后运行一些内存密集型任务,以查看我的Android设备如何处理它。但我不确定设备是否从RAM或其他内存来源获取内存。有没有办法找出答案?如果它正在从缓存中取内存,我该如何做到这一点,所以我只从RAM中分配内存?Malloc从RAM或缓存中获取内存

回答

2

但我不知道,如果设备被从RAM或内存

malloc() allocates memory from the process' heap其他来源,这反过来又来自设备RAM内存服用。它已经这么做了几十年了。

+0

谢谢你提供的答案!是否有一些论坛或网站可以阅读更多关于此的内容?如果malloc只访问RAM,那么缓存何时使用?在经常使用数据的情况下,操作系统是否会自动将内容从RAM移动到缓存?这是数据存储到缓存的唯一方式吗? – AndroidDev93

+0

@ AndroidDev93:“是否有一些论坛或网站可以阅读关于此的更多信息?” - 'malloc()'已经存在了大约三十年。您可以从我的答案中点击维基百科链接开始。 “如果malloc只访问RAM,那么缓存何时使用?” - 我不知道你认为“缓存”是什么。 – CommonsWare

+0

如果我的问题没有意义,请原谅我,但当谈到低层次的问题时,我是一个好手。我知道缓存是用来存储常用数据的内存,因此CPU可以更快地检索数据。从我迄今为止所了解的内容来看,我认为操作系统基本上是自己处理写入缓存的。所以它会选择哪些数据需要存储在缓存中并写入。但我很好奇,究竟是否真的有直接写入Android上的缓存? – AndroidDev93