你好,歡迎來到IOS教程網

 Ios教程網 >> IOS教程 >> 關於IOS教程 >> iphone 4後台模式設置教程

iphone 4後台模式設置教程

編輯:關於IOS教程

  Backgrounder是個對系統行為影響巨大的程序,個人感覺那些越獄之後大叫越獄費電厲害的一大半是因為這個程序。而Backgrounder的設置又是無比的繞,不仔細想想是不大能搞清楚的,這個程序的設置是需要思考的。所以小弟我認真做了個教程,希望能夠幫大家正確使用這個程序。所有的說明以IOS4為標准,更早的系統我沒有用過,沒辦法幫到大家。

  先用截圖簡單說明一下,然後後面再展開說明。

iphone 4後台模式設置教程  

  後台模式設置(Backgrounding method)

  對於正確使用Backgrounder,最重要的就是對於IOS4原生後台模式的理解。這個問題Backgrounder自帶的說明就已經講得很清楚了。

  IOS4提供的偽後台支持後台音樂播放,GPS定位,網絡語音通話,以及任務完成。也就是說僅只有這四項工作可以真正在後台運行。所謂任務完成是指在程序退出的時候還有工作沒處理完,比如保存進度存檔,那麼系統允許程序在後台繼續工作,然後在完成保存進度之後停止運行。

  除了上述四項後台功能,系統還提供一個程序快速切換的功能,這個功能也算是IOS4多任務的一部分。個人觀點,這個功能是IOS4多任務中最先進最有用的功能。它讓程序在最小化的時候僅僅是暫停運行,但並不釋放內存,保持程序當前的狀態,這樣當你再次打開這個程序的時候,程序不需要重新從硬盤(閃存)中讀出,不需要重新Load數據,而是瞬間恢復到上次退出程序時的狀態,這個特性會給用戶很強的多任務的感覺,仿佛程序從來沒有退出過一樣。而這個功能所花費的代價只是一塊內存,而並不消耗cpu時間。什麼意思呢?就是說快速切換並不比退出程序多耗一絲電,相反,由於再次打開程序的時候不需要讀硬盤(閃存),它比退出程序再重新啟動更省電!

  關於程序快速切換,了解到這個程度還不夠,我們還需要知道更深入一點才能正確地使用Backgrounder。

  第一點是:為快速切換所保留的內存空間是可以被擠占的。IOS4是沒有內存交換空間的,它不會像Windows那樣把硬盤(閃存)虛擬成內存來建立一個對應用程序來說無限的虛擬內存空間。所以,在IOS4中,當前台程序內存空間不足的時候,系統會釋放掉為後台程序保留的用於快速切換的內存,提供給前台程序使用。當然,如果所有能釋放的內存都釋放了,還不能滿足前台程序的內存要求的話,系統會直接中止前台程序的運行,這就是我們為什麼會看到有些程序運行中無故退出的原因。用於快速切換的內存可以被擠占這個特性是很先進的內存動態管理方式,特別適合於內存資源緊張的移動設備。這種內存管理策略的優點是在幾乎不消耗任何額外的時間(CPU時間,程序在後台暫停)、空間(內存空間,可以被擠占)資源的情況下,可以提供一個性能優良的偽多任務環境。但是正因為快速切換的內存可以被擠占,所以它的缺點就是它不總是可用的。大家都有經驗打開Safari的時候,有時能夠直接顯示上次退出時候的網頁,有時候就需要重新載入,就是這個原因。

  關於快速切換我們需要知道的另外一點是,在每個程序最小化的時候,系統都會給程序發送一個通知,告訴程序你現在已經被最小化了。這時候一個優雅、精良的程序會釋放掉可以釋放的一部分無關緊要的空間以節省內存,比如畫面緩存。這個特性的意思是支持IOS4多任務的程序被快速切換到後台以後占用的內存空間會比在前台運行時少。Backgrounder的真後台的操作方式就是在程序最小化的時候不給程序發送這個最小化的通知,所以程序不知道自己已經在後台了,不僅是仍然占用和在前台時一樣多的內存,而且還在繼續運行,和在前台時一樣燒電。而除了幾個操作系統底層的精靈進程之外,所有程序在IOS4的原生後台狀態下都是暫停運行的,不燒電的。不僅如此,就算是已經在後台的程序,如果它支持IOS4多任務,那麼它在收到系統發出的內存不足通知的時候,它還可以繼續釋放更多內存。比如Safari,在剛最小化的時候,它是保留所有打開的網頁的,之後如果系統發出內存不足通知,Safari就可以一個一個地釋放已打開的網頁所占用的內存。

  好了,說了這麼多,就是為了幫助大家正確選擇Backgrounder最重要的一項選擇:全局後台模式選擇。對於這個選擇,小弟只有一個推薦:原生模式。

  下面就是global裡的設置,是按照項目一個一個來的,紅色部分有的是我加上去的,方便理解。還請大家仔細看完,會理解很多,我是受益匪淺啊。

  第一項:(global裡的 backgrounding的第一項 off)程序退出。上面已經說了,相比原生後台模式沒有任何優勢,兩者都不會讓程序在後台運行都不耗電,兩者都不占內存(原生模式快速切換的內存可被釋放),但是程序的退出和啟動要比原生的快速切換多耗電且速度慢(你每次打開植物大戰僵屍都要等那條草皮重新展開一次)。這裡要順便說一下,那些喜歡雙擊home鍵調出任務欄然後一個一個關掉任務欄上所有程序的同學,你們的這種偏執行為沒有任何意義。

  第二項:(global裡的 backgrounding的第二項 native)原生後台。

  第三項:(global裡的 backgrounding的第三項 Backgrounder)真後台模式。這是Backgrounder的精華,是它存在的意義所在,但是也是很危險的選擇。你需要時刻牢記的是,程序在真後台的時候在和前台時一樣全速運行,一樣刷新要顯示的每一幀畫面,除了背光,跟在前台的時候一樣耗電。你更需要小心的是除了電,真後台的程序還跟在前台的時候一樣在消耗流量!!!我的建議是:切勿在全局設置裡面選擇這一項。只有你真的需要一個程序在後台運行的時候才在覆蓋設置裡面添加你要的程序,然後選擇這一項。別的程序選擇真後台除了燒電以外沒有任何意義,說不定還會讓你錯過很多東西:等你接完電話切回去一看,僵屍早就把你家鏟了。

  第四項:(global裡的 backgrounding的第四項 auto detect)自動選擇模式。這個模式的意思是:對於支持IOS4多任務的程序使用原生模式,對於不支持IOS4多任務原生後台的老程序啟用真後台模式。我個人的看法還是不要選這一項,需要真後台的程序還是要在覆蓋設置裡面手動添加。因為你不知道哪些程序是不支持原生後台的,所以很容易某個老游戲糊裡糊塗地就被真後台了,然後瘋狂偷電偷流量,尤其是在菊花顯示沒有打開的情況下。

  原生後台模式選項(Option for "Native")

  第一項:(fast app switching)程序快速切換。不用說,一定要打開。如果關閉這一項,那麼除了音樂、GPS、VOIP和任務完成之外就跟關閉後台沒有區別了。

  第二項:(even if unsupported)即使程序不支持快速切換也強行打開。對於這一項就要小心了,主要有兩個問題。一是不支持原生後台快速切換的程序在打開這個Backgrounder提供的快速切換的時候不會主動釋放部分內存,跟在前台時占用的內存一樣。二是程序通過這種方式被快速切換到後台之後,如果所保留的內存被別的程序擠占的話,未保存的進度和工作會全部丟失。支持快速切換的程序不會出現這種情況,因為他們在收到最小化通知的時候就會自動存盤。所以,個人意見不推薦打開這個選項。

  真後台模式選項(Option for "Backgrounder")

  後台開關選項(Backgrounding state)

  後台狀態顯示選項(Indicate state via...)

  Miscellaneous

  這幾項都涉及到後台模式切換,而且比較繞,所以放到一起講。

  這幾項之所以繞,是因為後台模式切換的問題Backgrounder的說明裡面沒有說得很直白清楚。

  Backgrounder可以讓我們在應用程序運行中通過Activator的手勢或者按鍵在兩種後台模式之間切換,但是具體是在哪兩種模式之間切換很多人都沒搞清楚。現在我們一共有三種模式:無後台模式(完全退出),原生模式和真後台模式(自動檢測不算一個模式)。這三種模式的切換方式是:

  1、對於設置為原生後台模式的程序,它會在原生後台和完全退出之間切換。原生後台的時候顯示藍菊花和N圖標,完全退出模式時無菊花和圖標。比如ipod程序,在切換到無後台模式之後一按Home鍵歌聲就停止了,跟在任務欄裡面手動關掉一個效果。

  2、對於真後台模式的程序,可以通過真後台切換模式選項:Fall back to Native來選擇是切換到完全退出還是切換到原生後台。我選擇的是切換到原生後台,因為在我現在的理解中,無後台模式沒有存在的價值。當然,既然作者做了完全退出的選項,說明完全退出還是有存在的意義的,只是現在我對IOS的理解還不深,還看不到其中的原因。

  3、對於設置為完全退出的程序,則無法切換後台狀態,只能完全退出,沒有選擇。

  4、有一種神奇的程序是完全無法後台的,不管你設成原生後台還是真後台,它們永遠都不會在後台運行,這是因為它們被有意地設計成在最小化的時候就完全退出。這類程序也無法切換後台狀態,也永遠不會有後台圖標或者菊花顯示,因為它們永遠不會在後台運行。我對裝軟件這種事情是很謹慎的,尤其是修改系統的軟件,不是我需要的我絕對不會裝,我這年紀的人已經沒有那麼大好奇心了。所以這類程序我還沒有遇到過,但是Backgrounder的作者在FAQ裡面是有提到的,我理解可能是出於安全原因吧,比如網銀程序之類。這類程序要是後台了然後你手機被偷了你就僕街了,所以我想一到後台就退出這種設計是很有存在的意義的。另外說一下Cydia,回帖裡面有同學說Cydia是可以後台的,我試了一下,用真後台模式確實是可以後台的。之所以我之前以為是不能後台的,是因為目前Cydia還沒有為IOS4更新,所以不支持原生後台模式。另外Backgrounder的作者說Activator的作者在他的程序中有意屏蔽了Cydia,所以在Cydia運行的時候無法切換後台模式,具體原因不詳。以上兩點導致了我的誤解,大家對Cydia打開真後台並且打開Enable at launch就可以後台它了。

  後台開關選項用於定義程序打開和最小化程序時的後台狀態。這兩個選項相當繞,個人覺得作者應該改進這兩個選項。為了說清楚這兩個選項,我必須先說Minimize on Toggle。

  Minimize on Toggle的意思是在切換後台模式的時候最小化程序。作者做這個選項的意圖是為了讓你有兩種退出程序的方法。比如說按照缺省設置:長按Home鍵切換後台模式,那麼如果Minimize on Toggle打開了,你就可以短按Home鍵關閉程序(或者最小化到原生後台),長按Home鍵讓程序真後台(打開真後台,同時最小化)。如果Minimize on Toggle關閉,那麼你可以在程序運行時切換到你想要的後台模式,然後再按Home鍵最小化程序(需要Stay Enabled打開)

  Enable at Launch決定程序打開時候的後台狀態。

  Stay Enabled表示是否要在程序最小化的時候保持後台開啟,這個選項相當蛋疼,因為如果不打開這一項,不管你在程序運行的時候切換到了什麼後台模式,一按Home鍵全部關閉。所以如果這一項關閉了,那麼Enable at Launch就沒有意義了,反正最小化的時候後台都得關閉。而且Minimize on Toggle關閉也沒有意義了,解釋起來實在費勁,你們懂的~~~這個選項需要關閉的唯一一種使用方式就是配合Enable at Launch關閉,Minimize on Toggle打開。在這種情況下,程序打開的時候後台總是關閉的,然後你短按Home鍵正常關閉程序,長按Home鍵(或者你自己設置的切換手勢)最小化程序到後台。如果你不是這種使用方式,那麼這一項應該一直保持打開。

  最後說說狀態顯示。因為我自己的全局後台模式是原生後台,所以我菊花(Badge)顯示是關閉的,如果打開的話,會看到滿屏的菊花,相當蛋疼。所以菊花顯示只適合於全局後台模式是退出的那些同學。圖標的作用是在程序運行的時候可以知道當前的後台模式,如果你打開了Minimize on Toggle,用兩種不同的方法關閉程序,那麼圖標可以關閉。我自己的習慣是關閉Minimize on Toggle,現在程序運行的時候就設置好後台模式,然後按Home退出,這樣的話就最好打開圖標。

  針對單獨程序的覆蓋設置和全局設置相同。如果你全局設置裡面的後台模式是原生模式的話,覆蓋設置裡面缺省的電話、短信等那四項可以全部刪除。

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved