• 8

android甚麼時候才可解決"軟體再背景偷偷自動開啟"的問題!?

話說,除了一開始使用的X10以外!


後續使用的DEFY、STREAK、Milestone 3 跟現階段使用的 NEXUS 都沒有手動清記憶體,

使用上也完全不會有不順暢的感覺阿!


而且清記憶體的程式也很吃記憶體.....



IOS系統中,背景執行的軟體不是沒有

而是根本就看不到而已,不然推播要怎麼作業?

poloasd wrote:
你怎麼知道不會?是沒...(恕刪)


那可以解釋一下..2系統的差異!?


不懂的人最直覺的想法就是IOS背景殺光光看RAM就知道了..

其實你不開任何程式..RAM還是那樣..頂多吃個一點...並不像ANDROID吃很兇!
不過推播 背景執行一樣在啊~

求解...
換機換很大...

只是還是一句話
幹嗎要偷跑!!!



所以你需要的程式就是完全不做任何通知

完全不會自動出現訊息的軟體


Android會告訴你現在你的手機裡面有什麼東西在背景執行

IOS則是你的手機裡有什麼東西在背景執行完全不告訴你

就看你喜歡哪一種了
ESQ wrote:
砍也砍不掉(我不ROOT)
說甚麼釋放空間 不開啟就不會佔用到空間不是嗎?
人家iOS, windows phone我記得我使用的時候都沒有醬的問題阿
偏偏就android


你不root,怎取得最高權限?
你沒權限怎麼讓他不在後台自啟?
這不是很矛盾嗎?
三點...

第一:
Android的RAM使用率是100%的,不可能會有Free RAM,那是錯誤的
◎所有Task App列出的Free RAM其實是Cache
◎只要不是在前景、非運作中服務,被丟到後台的都是Sleep狀態,不耗CPU資源
◎Cache轉進Main會比較耗CPU
◎Sleep原本就在Main列裡,直接Wake up速度較快也較不耗CPU
◎一旦開機後RAM的耗電量就是固定,不會因為負載多寡而改變

第二:
iOS、Windows也有背景服務
但是他分配在System使用裡「排序執行」,所以你看不到
1024RAM的配置,你不可能看到滿滿的1024RAM給你
大概會是300RAM給System,剩下724RAM給Data(也就是使用者)
Android的背景服務是列在Data使用裡「待命執行」,所以你看得到

第三:
會Auto Start的程序通常都有其必要性(除非開發者亂寫)
你就算把他Kill掉也只是轉到Cache裡
下次要用必須從Cache轉進Main重新分配後才Run - 慢
如果被擠出Cache那就必須從Storage讀入Main,然後重新分配,最後才Run - 更慢

結論:
1.讓RAM交給系統管理,不要用Task App
2.用完的程式按[HOME]讓他Sleep就好
3.需要回上一頁才按[返回]
4.愉悅!
風景映像。 https://yushenghsu.com
我稍微介紹一下我所理解的 iOS 和 Android 兩個系統之間的差異。兩個系統我都在用(iPad 2 和 Galaxy Note),兩個系統的軟體我都會開發(我們公司專用的系統軟體沒公開的)。

先說 iOS 系統很適合一般大眾使用,因為真的是簡單易用,但是 iOS 系統的限制太多,算是比較封閉的系統!所以我並不很喜歡。

iOS 正常情況下(也就是不要求使用者必須 JB 取得最大權限的情況下),您保證找不到 "系統級" 的軟體,比方說 Android 系統就可以有像 "正點工具箱" 這軟體,最好用的功能就是 軟體鎖、流量控制、自動開關機等等功能,LBE 軟體還可以個別控制每個軟體的網路使用權限,這些功能無法在正常的 iOS 上開發實現,連軟體鍵盤都不讓你碰!在 Android 系統上,不用 root 就可以正常使用像 正點工具箱、AndroidLost 等這些強大的功能的軟體。

當然,Android 軟體寫得好的話,功能可以既強大又可以不佔用系統的任何資源的。
比如說 AndroidLost 這套軟體,這套軟體就寫得相當的棒!平時可以完完全全的關閉不用再背景執行,平時待命不會耗電,他是透過 Google 的 C2DM 機制,需要的時候才由 Android 核心將他喚醒執行。

如果 LINE 或 WhatsApp 可以也使用這樣的機制運作,平時未使用的時候可以完全關閉,收到訊息的時候才由核心喚醒執行,一定可以超省電!可惜 LINE 和 WhatsApp 一直都沒有這樣做,都是用自己的伺服器,軟體真正的關閉後就失去連線而收不到訊息了。

總括而言,兩種系統都相當不錯!喜歡簡單易用的就使用 iOS 系統,想多點彈性就 JB
Android 系統呢,不必我多說。換個 Launcher 整個系統介面就煥然一新,可以是 Apple 風格、可以是 Windows Phone 7 風格,這是 iOS 系統不 JB 的話,無法辦到的。

最後,回應這個主題的問題:軟體自動開啟佔用記憶體的情況可以直接無視!Android 系統本身有很好的記憶體管理機制,請讓他自行去學習與統計您的使用習慣,做出最好的管理動作,不需要另外安裝清空記憶體的軟體來干擾它。 記憶體大就是要拿來用的,不是拿來看爽的。如果是惡意軟體或含有會自己跳出廣告的軟體,無法接受請直接移除它。

待會再來回應一篇,為什麼 Android 有些軟體會自動背景執行!
這裡我來說明一下,為什麼總是會有軟體在背景自動被執行。

首先, Android 系統本身運作時,就會有很多系統的 Event(事件) 廣播產生,下面附上四張圖片,顯示出在我手機上所有的 Event ,當某些軟體收到符合自己設計的事件廣播時,就會自動啟動,執行事件箱對映的工作後,在進入睡眠,不佔用 CPU 資源,但會佔用 RAM 快取起來,以便需要的時候更快速的啟動。




系統事件廣播什麼時候會發出? 看上圖就可以知道,講幾個常發生的如 沒電時 (Battery Low)、切換 3G 或 WiFi 網路時 (Connectivity Changed)、軟體安裝或移除(Application installed/removed)、打電話時、收到簡訊時等等等太多了...

我以 Facebook 為例,什麼時候 Facebook 會自己偷偷執行呢?看下圖:


1. 當發生 Connectivity Changed 切換 3G/2G 或 WiFi 網路時
2. Power Connedted 插上充電器進行充電時

切換 3G/WiFi 網路的時候,自動執行 Facebook 以便通知 Facebook 伺服器更新 Client 端的 IP 位址,以保持 Facebook 通知的通訊這我可以理解。
但,插上充電器進行充電的時候,為何要自動執行,這目的我就不太能理解了!所以我把它關了。

==============
最後,如果您跟我一樣有 root 的話,推薦安裝 Autostarts 軟體(如上圖),可以自由的控制所有以安裝軟體的自動執行權限,關掉您認為不必要自動執行的軟體的事件。
Tsubasa~翼 wrote:
三點...第一:An...(恕刪)


終於有人願意花時間PO文解釋了...給你拍拍手...
其實各家韌體都會照自己的規劃去最佳化記憶體管理...但結果就是好壞差異頗大...
我是很想用力的批評某間銷售領先廠商的軟韌體水平...但這會引起大戰 算了...

系統運作變慢不光只是記憶體問題 但是除了原廠 末端使用者也很難知道原因...
記憶體是最直接可以拿來鞭的 因為有數字可看...
偏偏不少人迷戀那數字...就跟三十公分的道理一樣 不管有用無用 感覺都是越大越好...

另外即便程式已經關閉...程式的進程依然會保留存活一段時間 等待再被利用...
理由同上面說的 減少重啟不必要的時間...
Android的記憶體管理 有它自己一套哲學...

dog88473 wrote:
凍結一堆程式 但還是有少數流氓軟體 不能凍結..只能讓它擺在那邊不知道要幹嘛...


看到你這番話~~ 不禁讓我想起我的xperia mini pro有中華電信的hami還有一堆中華綁定的鳥程式...
砍不掉...有的還會自動執行...

真的是啥樣的鬼公司就有啥樣的鬼軟體...
ESQ wrote:
實在狠不喜歡如此
如果可以解決的話
說不定android整體使用起來會更順暢
整個莫名其妙
明明沒有開啟的軟體
透過task manager看 都會開啟
用都用不到
砍也砍不掉(我不ROOT)
說甚麼釋放空間 不開啟就不會占用到空間不是嗎?...(恕刪)


真不知你是真不懂還是假不懂..?

記憶體本來就是拿來用的..
Android底層是Linux,本來就會留一部分記憶體事先載入一些有優先權限的APP
以備可以快速被喚醒/啟動..

例如手機有1GB記憶體
依系統廠商功力可以調教大約20~30%(200MB~300MB)為暫存區給APP,
這些進入暫存區的APP下次你開啟時就會很快被啟動,不需等待太久
然後只要有新的APP進入權限,舊的APP就會被擠掉,大約都是只有250MB上下的RAM是會被占用的
即使用Task清空程式也只會清掉這一部分的Cache..
接著250MB空出來了,其他程式又會蜂擁而上搶進駐這裡面,所以這就是你怎麼清都清不完的原因!
因為那根本不是給你清的,本來就是設計來給APP暫存的,你去跟它唱反調幹嘛..

大部分程式,為了讓自己的軟體每次開啟時能快一點,通常都會將優先權設的很高,
當每支程式都設最高時,也沒分誰才是最高了..就看誰被你清掉,後面的又佔進去..

這20~30%能利用的多徹底,就看各家廠商的調教功力,像有的手機明明有1G RAM,怎麼清大概都只剩100多.又有些手機隨便都能清出3~400MB..

不過重申一次..
怎麼清都是沒有意義的,因為那本來就是底層設計給APP拿來放的~
反而你這些殺Task的動作會造成部分系統崩潰,或造成耗電..
(不過某些軟體死當,強制清除的動作那是另一回事)

進駐Cache,不代表就是開啟APP,你要了解這兩者是不一樣的

拿掉了系統暫存區,Android不會更順暢,反而每一支APP每次要開啟時都要重新啟動,耗費的時間越久

這樣了解了嗎?
  • 8
內文搜尋
X
評分
評分
複製連結
請輸入您要前往的頁數(1 ~ 8)
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?