佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 5956|回复: 5

Android手機本身有記憶體釋放機制,無需使用Task Killer??

[复制链接]
发表于 9-9-2010 12:18 AM | 显示全部楼层 |阅读模式
在香港論壇看到的


其實 不需要裝工作管理員之類的軟體


Android系統會自動管理 ...


看來大家都被Windows荼毒太久了 = =


其實使用Android手機 不用太在意記憶體的剩餘多寡


因為系統會自動預載一些常用程式到記憶體裡面


例如撥號程式等等 以方便下次進入程式的速度


不然你用Task killer那些程式刪除這些放在記憶體裡面的東西


你會覺得某個時候手機會頓一下 因為系統又要重--載程式進到記憶體 需要時間


系統會自動移除過久時間沒用的程式 以及在執行需要大量記憶體程式時候 會先清空部份記憶體


所以不用自己手動清除 這樣對系統比較好 而且...auto kill task反而會更耗電...


資料來源 Android 資訊雜誌 正確管理Android系統記憶體《Autokiller》



大家可能認為,智能手機開機時間愈長,系統會佔用愈多記憶體(RAM),當記憶體較少時,就要用工作管理員關掉不必要的程式來釋放記憶體。不過,以上的做法其實並不適用於 Android 手機。


今年年初,有外國 Android 用戶發現 Android 平台原來有套妥善的記憶體管理機制,並在 xda 進行討論。Android 平台核心設計已設定了不同參考數值,當記憶體低於這些數值,系統自動關閉某些程式,關掉程式準則取決於程式的需要程度和使用次序。例如最近執行的程式會保留,不常用或者很久前執行的程式則會自關閉,達到釋放記憶體的效果,但不影響最近執行的程式的切換。換言之用戶無需用 Task Killer 手機手動關閉程式,只要讓系統自動處理就可以。
回复

使用道具 举报


ADVERTISEMENT

 楼主| 发表于 9-9-2010 12:18 AM | 显示全部楼层
android的原理,為什麼我們不需要手動關閉程序


不用在意剩餘內存的大小,其實很多人都是把使用其他系統的習慣帶過來來了。 android大多應用沒有退出的設計其實是有道理的,這和系統對進程的調度機制有關係。如果你知道java,就能更清楚這機制了。其實和java的垃圾回收機制類似,系統有一個規則來回收內存。進行內存調度有個閥值,只有低於這個值系統才會按一個列表來關閉用戶不需要的東西。當然這個值默認設置得很小,所以你會看到內存老在很少的數值徘徊。但事實上他並不影響速度。相反加快了下次啟動應用的速度。這本來就是android標榜的優勢之一,如果人為去關閉進程,沒有太大必要。特別是使用自動關進程的軟件。 (這裡解決了大家非要關進程的誤區!)

        到這裡有人會說了,那為什麼內存少的時候運行大型程序會慢呢?其實很簡單,在內存剩餘不多時打開大型程序,會觸發系統自身的調進程調度策略,這是十分消耗系統資源的操作,特別是在一個程序頻繁向系統申請內存的時候。這種情況下系統並不會關閉所有打開的進程,而是選擇性關閉,頻繁的調度自然會拖慢系統。所以,論壇上有個更改內存閥值的程序可以有一定改善。但改動也可能帶來一些問題,取決於值的設定。

那麼,進程管理軟件有無必要呢?有的。就是在運行大型程序之前,你可以手動關閉一些進程釋放內存,可以顯著的提高運行速度。 但一些小程序,完全可交由系統自己管理。

       談到這裡,可能有的朋友會問,如果不關程序是不是會更耗電。我就說說android後台的原理,你就明白了。 android的應用在被切換到後台時,它其實已經被暫停了,並不會消耗cpu資源,只保留了運行狀態。所以為什麼有的程序切出去重進會到主界面。但是,一個程序如果想要在後台處理些東西,如音樂播放,它就會開啟一個服務。服務可在後台持續運行,所以在後台耗電的也只有帶服務的應用了。這個在進程管理軟件裡能看到,標籤是service。 至於廣播什麼的我就不涉及了。所以沒有帶服務的應用在後台是完全不耗電的,沒有必要關閉。這種設計本來就是一個非常好的設計,下次啟動程序時,會更快,因為不需要讀取界面資源,何必要關掉他們抹殺這個android的優點呢? (告訴我們如何合理使用進程管理軟件)

還有一個,為什麼android一個應用看起來那麼耗內存。大家知道,android上的應用是java,當然需要虛擬機,而android上的應用是帶有獨立虛擬機的,也就是每開一個應用就會打開一個獨立的虛擬機這樣設計的原因是可以避免虛擬機崩潰導致整個系統崩潰,但代價就是需要更多內存。 (跟塞班也不一樣,案桌不容易死機重啟)

以上這些設計確保了android的穩定性,正常情況下最多單個程序崩潰,但整個系統不會崩潰,也永遠沒有內存不足的提示出現。大家可能是被windows毒害得太深了,總想保留更多的內存,但實際上這並不一定會提升速度,相反卻喪失了程序啟動快的這一系統特色,很沒必要。大家不妨按我說的習慣來用用這個系統。

祝大家玩機愉快,這系統開十天半個月都沒問題,不是windows。

以下內容為保養方法

本文來自 瀬戸のテーマ 在此感謝!

多工系統,Multi-task System

這個字眼其實是針對使用者和程式開發者多於系統本身,因為這世上沒有一個系統不是多工的。

那麼,為什麼又會有這個術語?

原因很簡單,因為其實多工指的並非系統本身,而是操作環境。

多工和非多工的操作環境有何分別?

系統在執行一個程序時,會有以下幾個步驟:

         1. 把主程式放到 RAM 中

         2. 在 RAM 中執行程序

3. 依照程序的需要,把RAM 分給該程序使用

在執行程序時,多工和非多工操作環境是沒有分別的,而分別在程序結束時。

    多工操作環境:

1. 把分給該程序使用的RAM 回收

2. 如程序本身沒有設定自行關閉的話,會把主程式留在RAM 中

3. 如該程序沒有工作的話,就會在背景待命,否則就是背景執行。

    非多工操作環境:

       1. 強制關閉該程序

2. 把分給該程序使用的RAM 回收

3. 把主程式從RAM 中移除,取回記憶體

說到這裡,多工與非多工的分別大家就會很清楚了。

這是非多工環境的Iphone、Featured Phone 和多工環境的Windows Mobile(WM)、Symbian、Android 最大的分別。

Iphone 永遠有足夠的RAM 去給系統運作,所以永保系統運作的順暢度。

而WM、Symbian、Android 這類多工系統,在執行一定數量的程序後,系統便會變鈍
回复

使用道具 举报

发表于 9-9-2010 12:29 AM | 显示全部楼层
这种手机我见过
回复

使用道具 举报

发表于 10-9-2010 01:58 PM | 显示全部楼层
那 到 底可 以杀还是 不 必杀????
回复

使用道具 举报

发表于 10-4-2012 04:13 PM | 显示全部楼层
那 到 底可 以杀还是 不 必杀????
面包宝宝 发表于 2010-9-10 13:58


不 必杀,杀了更吃电
回复

使用道具 举报

发表于 10-4-2012 04:42 PM | 显示全部楼层
那么旧的贴也被挖出来,不过真的好用
回复

使用道具 举报

Follow Us
您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 13-5-2024 02:24 AM , Processed in 0.057911 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表