0
過去幾天我一直在閱讀android基礎結構,我發現Dalvik虛擬機是基於寄存器的機器,而不是傳統的基於堆棧的虛擬機。在這種情況下,dex文件的內存佈局會是什麼樣子?在典型的C程序中,其內存佈局採用數據,文本,堆和堆棧的形式。這對於dex文件也是一樣的。如果是這樣,Dalvik虛擬機如何處理這些文件?android dex文件的內存佈局
過去幾天我一直在閱讀android基礎結構,我發現Dalvik虛擬機是基於寄存器的機器,而不是傳統的基於堆棧的虛擬機。在這種情況下,dex文件的內存佈局會是什麼樣子?在典型的C程序中,其內存佈局採用數據,文本,堆和堆棧的形式。這對於dex文件也是一樣的。如果是這樣,Dalvik虛擬機如何處理這些文件?android dex文件的內存佈局
據我所知,Android運行在Linux內核上。所以,Linux內核負責管理物理內存。 Android ART如何管理與內核的內核交互對我來說並不熟悉。但是,事先應該提供與Linux二進制文件(文本,數據,堆,堆棧,共享內存)相同的內存佈局。 那麼,實際上我通過查看進程的內存映射(cat /proc/pid/maps
)得到了確認,它爲您提供了與典型Linux程序類似的內存佈局,但是具有很多共享庫。