2013-06-30 57 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