Android的記憶體,程序排程管理 (二)

2021-07-02 12:40:06 字數 1283 閱讀 3221

在執行乙個程式時,按一下房子鍵就可以退到桌面,一般來說按一下退出鍵也可以退到桌面,這兩者有什麼區別呢?

其實是有區別的,你應該根據自己的需要靈活選擇

按房子鍵,看起來似乎是退出了,但是其實這個軟體並沒有被關閉,而是轉為了

後台程式(指一般的軟體,不討論特別種類的軟體)

按退出鍵,看起來也是退出沒錯,但這個軟體其實是被轉為了

空置程式(**除外,**屬於有服務的特殊軟體)

咱們再來看看下圖,是android的所有5個程式程序的級別高低,空程序是最低的,它存在的目的是為了下次開啟這個軟體的時候可以更加方便快速(這是個很好的設計目的),而一旦需要清理出更多記憶體空間時,它也是被系統自動的最優先清除的

系統程序級別圖,級別越低的會越快越早的被系統智慧型清理掉

所以,大家明白了吧? 一旦需要退出軟體時,如果是沒有提供退出功能的軟體,那麼盡量用退出鍵退出而不是房子鍵,並且,最重要的是,沒有必要用程序管理類軟體主動去清理空置程序,因為它本來就是為了被清理而存在,但在沒輪到它被清理之前,還可以發揮重新快速開啟的作用,一旦被你主動清理了,就連這點好處都沒有了,那麼,android系統的設計師又何必要設計出這個空置程式呢?直接釋放記憶體不是更好麼?所以,結論就是,既然它存在,就有它存在的好處!就要讓我們享受到這個好處!

用程序管理主動去清除空置程式絕對是違反android系統的設計本意的,是一種可笑的傻做法!

再來說說房子鍵

眾所周知,android跟iphone不同,咱們的gphone是乙個典型的多工系統,既然是多工系統,那麼自然就會有乙個在多工之間切換的需要,那麼大家是否真的都會這個操作呢?

這時候,就需要用到房子鍵了,在乙個程式中的時候,比如簡訊息,看到幾個單詞不認識,那麼就可以選中這段文字,然後複製,按房子鍵切換到桌面,然後開啟詞典,貼上,查詢,查好後再長按房子鍵(長按的作用是在幾個開啟的程式和最近曾開啟的程式之間切換),切換回簡訊息,這時候簡訊息程式不需要重新開啟仍然是你剛才的介面,可以再複製然後長按切換詞典繼續查詢下乙個單詞。。。。

這就是房子鍵的用法,其實想必大家都知道這個用法,只不過可能沒有考慮過其實這是乙個前後台程式之間切換的過程而已。。。

最後,簡單的歸納一下所有內容,其實整篇文章的意思就是說,按退出鍵相當於「真正的」退出關閉程式,按房子鍵,看起來似乎是關閉了程式,但是其實只是一種假象,程式只是被降低了僅僅「一」個等級而已,房子更適合多工切換用,就這麼簡單。。。

關於android記憶體管理的原理,及相關自動記憶體管理軟體原理

以上內容主要是**,對大家了解android的記憶體管理機制有幫助,小魚程式的原理也基於這個。

Android程序排程cgroups的簡單介紹

cgroups的定義 維基百科的解釋為 cgroups,其名稱源自控制組群 control groups 的簡寫,是linux核心的乙個功能,用來限制,控制與分離乙個程序組群的資源 如cpu 記憶體 磁碟輸入輸出等 android中的cgroups android中的cgroups關於cpu的一般有...

記憶體管理與程序排程

一 記憶體管理 1 核心 使用alloc pages申請物理頁幀 使用kmalloc申請專用 通用記憶體塊 vmalloc申請物理不連續,邏輯相連記憶體 使用kmap建立高階位址對映 外碎片 空閒記憶體零散分布,無法滿足大記憶體需求 夥伴系統解決 內碎片 申請一塊記憶體真正使用的只有小部分 slab...

Linux的記憶體和程序排程的問題

linux程序排程以及配套的程序管理回答如下問題 1.linux程序和執行緒如何建立 退出?程序退出的時候,自己沒有釋放的資源 如記憶體沒有free 會怎樣?2.什麼是寫時拷貝?3.linux的執行緒如何實現,與程序的本質區別是什麼?4.linux能否滿足硬實時的需求?5.程序如何睡眠等資源,此後又...