close
Blogtrottr
T客邦
T客邦 - 全站文章
手機實體記憶體不足會如何?行動裝置不玩虛擬記憶體
Jul 18th 2013, 03:02, by 國寶大師 李文恩

389efa689254a75164ddbc863d95a08f 在電腦王107期中,我們介紹了Windows的記憶體管理模式,其中也談到了關於實體記憶體與虛擬記憶體的運作原則。在深入研讀完該文之後,筆者想到了另一個問題,對於採用eMMC做為主要儲存設備的行動裝置而言,其虛擬記憶體該如何運作?

簡單復習虛擬記憶體

如果你看完電腦王107期的相關文章後,仍然覺得搞不清楚虛擬記憶體在作什麼的話,筆者就簡單地為大家復習一下虛擬記憶體運作原則。

無論是Windows作業系統,或是Unix、Linux系作業系統,都有分頁檔(Page File)或是置換空間(Swap)等設計,其最核心的概念就是,當實體記憶體空間不足時,能將重要性較低、較不活躍的資料存放於虛擬記憶體,以便空出實體記憶體。

由於Mac OS與iOS的體質比較相近,因此筆者以此2套作業系統的記憶體管理方式進行說明。在Mac OS中,實體記憶體的區塊可以分為活躍(active)、不活躍(inactive)、閒置(free)等3種狀態。活躍與不活躍區塊都存有資料,差異在於資料的存取頻率不同,不活躍區塊中的資料重要性比較低,隨時可以被移出實體記憶體。閒置則是尚未被使用的區塊,隨時可以被任何程式調用。

iOS直接刪除不活躍資料

為了更加瞭解iOS的記憶體管理方式,筆者查閱了Apple官方向開發者提供的文件,在Developer Library中的Memory Usage Performance Guidelines條目中提到,在Mac OS中,存放於活躍區塊中的資料的存取頻率若低於門檻,即會被移至不活躍區塊,若該筆資料的存取頻率仍低於第二道門檻,則會從不活躍區塊被移至虛擬記憶體中,並釋放實體記憶體空間。

至於iOS部分,由於eMMC的存取速度比較慢,因此當實體記憶體空間不足時,系統就會發出通知,讓存放於不活躍區塊的App自行清理記憶體空間,若各App無法清出足夠的空間,系統則會直接將該App關閉。

Android也不用Swap

根據XDA論壇中Increase RAM using Swap File and Swap Partition一文提到,以Linux為基礎的Android作業系統,在預設情況下也是不使用換置空間(即不使用虛擬記憶體)。若遇到實體記憶體不足的情況,系統也是會直接關閉運作中的App,以釋放記憶體空間。

無論是Android或是iOS,雙方不約而同放棄虛擬記憶體最主要的原因,無非是將實體記憶體中的資料寫入虛擬記憶體的效率,受到eMMC的存取速度限制,與其將資料寫入再讀出,倒不如重新開啟App還比較流暢。

雖然系統會主動砍掉運作於背景的程式,但使用者也不必擔心資料會遺失,在系統關閉App的同時,會讓App進行存檔的動作,能夠把運作中的狀態儲存下來(比方編輯到一半的文件,或是瀏覽器開啟的網頁),以利下次啟動App後恢復運作狀態。

▲在Mac OS中,若是存放實體記憶體中的資料比較少被存取,最終會被移到虛擬記憶體中。

▲但iOS並不使用虛擬記憶體,所以當實體記憶體空間不足時,系統會直接將App關閉以釋放空間。

相關文章

延伸閱讀:

6大技巧,有效提升 Android 手機、平板的效能與續航力

把整個作業系統放進記憶體裡,RAM OS 讓讀寫效能快10倍

找回被遺忘的記憶體空間:提昇使用率,讓程式跑得更快

記憶體單通道 vs. 雙通道性能評測,跑雙通道比較有用嗎?

本文同步刊載於電腦王雜誌
 
 
歡迎加入電腦王雜誌粉絲團

Facebook 馬上按讚 加入T客邦粉絲團

標籤:電腦王, 記憶體, Android, 教學, ios, 技術研究

更多3C新消息,快來加入T客邦粉絲團

This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at fivefilters.org/content-only/faq.php#publishers. Five Filters recommends: 'You Say What You Like, Because They Like What You Say' - http://www.medialens.org/index.php/alerts/alert-archive/alerts-2013/731-you-say-what-you-like-because-they-like-what-you-say.html

You are receiving this email because you subscribed to this feed at blogtrottr.com.

If you no longer wish to receive these emails, you can unsubscribe from this feed, or manage all your subscriptions
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 nbv2eybn7a7ye 的頭像
    nbv2eybn7a7ye

    進擊的巨人14, 進擊的巨人線上看, 進擊的巨人漫畫, 進擊的巨人遊戲, 進擊的巨人 動畫, 進擊的巨人 線上漫畫, 進擊的巨人14線上看, 進擊的巨人13, 進擊的巨人 h, 進擊的巨人op

    nbv2eybn7a7ye 發表在 痞客邦 留言(0) 人氣()