Bada學習-多任務模式

多任務模式                     

 

bada平臺2.0及更高的API版本支持多任務模式.然而,當許多bada應用在同時運行時,只能有一個應用運行在前端,其它的應用則運行於後臺.用戶可以調整應用的優先級並且任意時刻都可以使用任務管理器(可以列出所有當前正在運行的應用)來決定讓哪個應用運行在前臺.多任務應用在用戶按下End按鈕後,或者系統內存過低時將退出運行.

 

多任務模式對於手機終端來說很耗費終端內存.因此,我們強烈建議多任務特性僅用於十分需要這個特性的地方. 僅在當別的應用當前正在運行,而你需要你的(C++/FLASH/web)應用在後臺運行時才使用/開啓多任務模式.例如,當你發短信或幹別的事情的時候,你的播放器可以繼續在後臺運行. 但對於計算器這類程序就完全沒有在後臺運行的必要.

 

任何音頻播放應用都有比其他應用擁有更高的多任務模式下的運行優先級,因爲用戶並不想他的音頻播放器因爲在後臺運行而停止播放.多任務模式優先級別對於音頻播放器來講,僅在它仍在播放過程中時保持較高的優先級, 而非當其已經暫停或者結束播放時仍然如此.

 

 

爲了防止未知的問題,例如內存耗盡,三星官方應用區別於非多任務應用,對於多任務模式應用實行嚴格的基礎可靠性測試,分析.

 

建議僅在在以下情況使用多任務模式:

 

1.需在後臺播放音樂或者聲音

2.在後臺訪問地理位置信息

3.後臺捕獲傳感器數據(觸屏,陀螺儀重力感應等)

4.網絡應用需要後臺訪問服務器

5.VOIP應用( Voice over Internet Protocol 一種由IP網絡傳送話音的技術服務)

 

注意:非開啓多任務模式的應用在用戶點擊HOME鍵返回時將不會在後臺運行,在用戶點擊END或者其它程序啓動後將退出運行.

 

內存即將用盡政策:

 

當內存過低,系統顯示當前運行應用列表,並提示用戶結束其中一些應用以釋放部分內存.

 

由於存在多個多任務模式應用同時運行在後臺的可能,所以內存過低的情況將很常見. 對2.0及更高版本的API來說,當系統內存過低,系統會自動將後臺運行的應用一個個結束,直到獲得足夠的基本系統運行所需內存.應用被結束的順序爲它們被用戶置於後臺的順序,即距離最後一次置於前臺運行時間間隔最長的後臺程序將被最先爲系統自動結束掉.系統直到內存恢復正常前將不會爲此提示用戶強制結束應用操作的動作

 

當內存過低時,系統會通過調用Osp::App::Application::OnAppTerminating()(c++框架中),或者Osp.App.Application.onTerminating() (Web 框架中)事件處理器直接終止應用運行,並釋放其所佔內存.對於C++/flash應用,爲防止引內存過低被系統強制關閉而丟失數據,我們可以將應用狀態,數據,上下文環境存儲在應用的註冊值或者存儲器中(實現了接口Osp::App::IAppCheckpointEventListener). 它的OnAppCheckpointing()事件處理器會在內存過低,後臺程序可能被終止時被調用.在web應用中,我們可以使用Osp.App.Application.onCheckpointing()事件處理器來防止因意外終止而丟失數據.

 

當內存過低時,應用被終止的順序爲:

 

1.後臺程序

將被一個接一個終止,直到內存恢復正常

 

2.前臺應用

 

3.輸入法程序

 

 

 

上一篇:bada應用模塊

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章