我動態在我NDK代碼分配內存動態分配,我嘗試以下兩種方式:的存儲器中的Android
1)
vector<char> buffer_;
buffer_.resize(len_);
2)
char* buffer_;
buffer_ = new char[len_];
len_
是一個非常大的數字,在我的測試中是132710400,大約130 MB。 兩種方式都有效!當我在Android Monitor中查看內存使用情況時,內存使用量只有30MB左右。我知道分配的內存只是虛擬內存,並不能真正從物理內存中分配。但我確定我已經寫入並從這個內存中讀取,所以它應該實際分配。 我只想知道如何發生這種情況? Android Monitor有什麼問題嗎?或者有什麼我不瞭解Android操作系統?或者Android監視器無法跟蹤本地代碼使用的內存?
如果我沒有記錯的話,Android Studio中的內存分析器只佔Java內存,而不是本機。 – Francesc