基于嵌入式設備瀏覽器內存管理策略研究
3.2執行Compaction前后Vector中的內存使用情況
首先我們察看在打開網頁的過程中在沒有執行Compaction的情況下,Vector中的內存使用情況,如圖6所示,由圖可知,標志為藍顏色區域是正在使用的內存空間,白顏色表示已經廢棄不用的內存空間。在沒有Compaction以前,已經廢棄不用的區域占用了大量的內存空間,在執行Compaction以后,所有正在使用的區域都會整齊地排列在內存的高端,從而提高了內存的使用效率。本文引用地址:http://www.104case.com/article/150448.htm
3.3 內存總體使用情況及與調用系統內存管理接口性能的比較
首先從系統堆中分配出4 MB的內存,然后對這4 MB的內存進行應用程序級的內存管理,為了測試應用程序級的內存管理的各項性能指標,使用小、中和大三種網頁對總體內存使用情況進行了統計,并且做了與調用系統內存分配和釋放接口進行性能比較。表1是實驗網頁文件大小以及性能占用數據表,圖7是運行一個大網頁的時候,所有內存池占用空間和Vec-tor所占用空間的比例圖,圖8是針對一段關鍵上下文,
調用應用程序級的內存管理接口和調用系統級的內存管理接口對三種大小不一的網頁在執行這段上下文的時候所用平均時間的比較。從圖8中可以看出,網頁越大,內存管理的性能越優于直接運用系統的內存管理。
4 結語
本文主要在對嵌入式操作系統μCLinux內存管理進行分析和小結的基礎之上,根據Browser實際運行情況,提出了運行在嵌入式設備上瀏覽器的內存管理池式分批和Vector分配策略,并分析了這種策略的特點和性能。最后通過實驗數據來分析并得出瀏覽器分別調用應用程序級的內存管理的接口與系統級的內存管理的接口進行運行比較,得出應用程序級的內存管理效率比系統級的內存管理效率要高。
評論