你好,歡迎來到IOS教程網

 Ios教程網 >> IOS教程 >> 關於IOS教程 >> 後台掛QQ掛MSN不是夢Backgrounder終極教程

後台掛QQ掛MSN不是夢Backgrounder終極教程

編輯:關於IOS教程

  有很多人說iPhone 4開始  4.0以後的固件已經支持後台運行了,為什麼還需要Backgrounder????

  我想說雙擊Home鍵出來的叫做最近運行程序列表,出現在這個列表裡面的唯一、充分且必要條件是最近運行過的程序,跟任何別的因素沒有關系。而且列表裡面的圖標是按最近運行的順序排序的。這個列表裡面的程序有可能是在後台駐留的,也有可能是已經完全退出的,還有可能是真後台還在繼續運行的。總之,都有可能,因為是否後台跟是否出現在這個列表無關。我們可以肯定的只有一點:不在這個列表裡面的程序必定是已經完全退出了的。在後台駐留但不出現在最近程序列表裡面這種情況是不允許發生的。


如果你在這個列表裡面手動叉掉一個程序圖標,那麼:
1、如果程序本來就已經完全退出,那麼什麼事情也不會發生,只是刪掉了一個圖標而已。
2、如果程序是在原生後台,那麼程序會釋放內存並退出,如果程序在運行系統支持的那幾項原生後台任務(音樂,GPS什麼的),會被終止。
3、如果程序在真後台運行,那麼程序會終止運行並完全退出。並有可能丟失未保存的數據,這一點我不是很肯定,需要進一步觀察。

  有很多人問為什麼把程序設成完全關閉之後在雙擊Home鍵彈出的任務管理器裡面還是存在,似乎大家都覺得Backgrounder的完全關閉還是沒有在任務管理器裡面手動刪掉後台程序干淨,這一點似乎讓很多強迫症病患、偏執狂以及完美主義者極度不爽。關於這個問題,iOS4用戶手冊繁體中文版第27頁是這樣說的:

http://iphone.tgbus.com/zt/iphone3gguide/27.shtml


  官方說明書說得很清楚了,雙擊Home鍵你看到的只是最近運行的程序,跟後台不後台沒有一毛錢關系。你在這裡刪除的,也只是最近運行的程序圖標而已,跟程序是否退出也沒有一毛錢關系。而雙擊Home鍵彈出來這個東東也不叫任務管理器,只是最近運行程序列表而已。之所以你以為這個是任務管理器,只是你想當然而已,或許還有部分白癡評測文章的影響。總之,這個故事告訴我們,不要總以為自己看到的、自己想象的東西是正確的,多看說明書是正道。

  在網上看了半天,沒有看到一個到位的Backgrounder教程,大多數都是截個圖,告訴你照他這樣設就好了。且不說各人的使用習慣不一樣照貓畫虎行不行,單說發這些教程的人很多自己也沒搞清楚那些選項的真正意思,各種版本的教程問題多多。

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

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










後台模式設置(Backgrounding method)

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

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

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

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

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

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

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


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

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

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

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

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

  第二項:即使程序不支持快速切換也強行打開。對於這一項就要小心了,主要有兩個問題。一是不支持原生後台快速切換的程序在打開這個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、下載?
Cydia首頁->Featured->往下翻到Free Extensions

2、怎樣的設置最好?
無所謂好壞,看你自己的使用習慣。截圖中是我自己的設置,是比較保守的設置,只有真正需要後台的程序才打開真後台。iPhone不是台式機,資源比你想象的有限得多,之所以你覺得速度很快不比台式機差,電池還比別的手機強,那正是因為iOS傑出的設計。那些覺得iOS4的多任務是垃圾喬布斯是棒槌的人,他們自己才是棒槌~~~設置Backgrounder的時候還是應該盡量多利用OS本身的優點,盡量少改動系統本身的設置。

3、讓你說糊塗了,照你的說法更本沒安裝的必要啊!
這個正是我想勸說大家的。我們使用大電腦使用Windows習慣了,已經感覺不到多任務的存在了,所以現在的孩子很少有仔細思考我們為什麼需要多任務這個問題了。顯然,蘋果的天才們是相當清楚這個問題的,所以他們才會在iOS4中加入這樣精巧的多任務系統。當然這個多任務系統不完美,我們接受不了,因為不能掛QQ,所以我們才要裝Backgrounder。

4、發現一個問題,QQ能後台運行2個小時左右,然後就掉線。如何解決?設置完全是按照教程來的
這位大哥這問題我是真不知道,我開著VPN過幾個鐘頭還會自己斷掉呢,我也不知道是為啥呢。只是這位大哥的問題讓我想起有個很重要的事情我忘了說,那就是真後台的程序使用的內存也會被擠占掉!比如你把QQ真後台了,然後再運行個幾百M的大游戲,或者多開幾個網頁,再回頭點開qq,你會發現qq界面出現一下,然後瞬間消失~~~這個問題在Backgrounder的FAQ裡面有講,這不是Backgrounder的bug,只是因為Backgrounder不是蘋果自帶的,不是原生的,所以iOS4不會對它另眼相看不會保證它的安全!也就是說,對於iOS4來說,任何在後台的程序都是不安全的!不管是原生後台還是真後台!如果你在打游戲的時候聽見qq響,切換過去瞬間消失了,那你就是看不到那條消息了,沒有辦法!

5、如果只為QQ這樣的設置真後台,那和設置推送的作用是不是就一樣了,那推送和真後台對於耗電等又有多大區別呢?

關於推送,我了解得還不夠清楚,只能大致說說,說得不對請各路神仙大俠表打臉~~~等我了解得更多了我會更新的。

  推送跟音樂,voip,gps定位等等一樣,是iOS提供給應用程序的7個多任務接口之一。這些接口都是操作系統提供的功能,意思是說如果應用程序有後台運行這些功能的要求,可以通過調用接口要求系統運行,但是這些功能都是在應用程序的要求下,操作系統本身完成的,而不是應用程序自己在後台運行的,應用程序還是只有暫停的份兒。這就決定了qq消息推送必然比真後台qq省電,因為接收消息只是整個qq要干的那些亂七八糟的事情中的很小一部分,當然,iOS的qq已經比Windows的qq精簡很多了,但是真後台的話至少它還會在後台刷新聊天窗口吧,還得維護好友列表吧,這些都是要燒電的。另外qq的代碼質量顯然不能跟iOS比,多燒電是必然的。

  不過正因為推送是iOS提供的,跟qq沒有關系,所以造成的尴尬是你收到推送消息了,然後去打開qq,就發現並沒有剛才推送的消息,還得等qq自己接收到了剛才的離線消息才會顯示出來,這很清楚地說明,剛才推送的消息是系統接收的,不是qq接收的,qq根本就不知道。這一點個人認為是推送的一個很嚴重很關鍵的問題。喬布斯還是應該想個辦法讓推送消息和應用程序本身無縫結合起來。

 

來源

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