成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Android應用程序需不需要手動退出?

移動開發 移動應用 Android
對于Android系統而言,包含”進程”和”服務”。”進程”有正在運行的,也有剛剛離開在后臺緩存的。”服務”是一個無界面、長時間運行的應用功能,并且不會輕易被終止。

[[42078]]

不止一次,也不止一個人問過這個問題。我都回答了:不需要。但是,還是要記錄下來。

我們不妨從了解這個系統對于應用程序管理的一些內部機制開始說明原因。

對于Android系統而言,包含”進程”和”服務”。”進程”有正在運行的,也有剛剛離開在后臺緩存的。”服務”是一個無界面、長時間運行的應用功能,并且不會輕易被終止。

我們知道,在Android中可以快速通過主頁鍵(home)或者使用返回鍵(←)逐步離開應用程序。

主頁鍵:

在當前運行的應用程序的任意界面,按下主頁鍵會快速回到手機主屏幕。同時這個應用程序的進程將在后臺被暫停并建立緩存,再次啟動應用程序時可以方便地返回剛才的界面。(現場被保留)

當然,在你按下主頁鍵回到手機主屏幕時,因設計需要,也有可能會在后臺運行一個甚至多個進程和服務,以保證這個應用程序在后臺是”活的”。(比如音樂正在播放時)

盡管我們知道了后臺會產生各種各樣的”進程”與”服務”,但你并不用擔心它們會把你的手機拖累。當運行新的應用程序發現內存可能不夠用時,系統會自動在后臺釋放部分緩存在后臺的進程,以保障可運行新的應用程序。這是一個智能的、良性的供給體系。

返回鍵:

Android系統使用返回鍵來進行屏幕后退,以及關閉對話框/菜單/屏幕鍵盤。

對于傳統的本地客戶端應用程序,每個屏幕可以理解為一個活動(Activity)。通過返回鍵可以快速回退到當前應用程序的上一個活動,也可以離開當前應用程序打開的新的應用程序的某個活動。

所有的活動呈堆棧結構(一種串行形式的數據結構),正在運行的活動處在最頂端。當你按下返回鍵,會清除當前活動并恢復上一個活動。如下面的【圖1】示例:

返回鍵

【圖1】

如果你連續按返回鍵,活動一個個被抽離,就像剝洋蔥一樣。

在Android的應用程序里,可以通過”意圖(Intent)”功能,在當前應用程序(任務)的某個活動來啟動另一個應用程序(任務)的某個活動。

比如下面的【圖2】的示例,在”有道詞典”主界面單擊超鏈接”意見反饋”打開瀏覽器訪問目標網頁:

【圖2】

在目標網頁界面,你可以使用返回鍵快速返回剛才的”有道詞典”主界面。

而接下來這個例子,體驗則是非常糟糕的:

【圖3】

請看【圖3】,在目標網頁想要返回上一個任務需要歷經幾番周折。一遍又一遍地回退瀏覽器的瀏覽歷史,甚至還要回到瀏覽器的起始頁,然后彈出一個對話框詢問是否要退出。天哪!我快要瘋掉了。

Android官方對于多個任務間的活動堆棧處理機制,可以看下面的【圖4】來解釋:

【圖4】

從圖中我們可以看到,一開始在后臺的”任務B”的”活動Y”經由”任務A”的”活動2″的一個按鈕抽調到了前臺,而隨著”任務B”的活動一個個被剝離,最終整個”任務B”被結束了,并且使用返回鍵又回到了”任務A”的”活動2″。

當然,應用程序可以決定被調用時在哪一個活動就要結束。比如【圖4】的”任務B”被”任務A”的”活動 2″抽調到前臺后,可以決定在”活動 Y”這里就為終點,而不需讓用戶經過”活動 Y”的上一層”活動 X”。否則,就會出現像【圖3】那樣的麻煩,用戶被不情愿地經過與當前任務無關的其它活動。

返回鍵實現了調用新任務之后快速返回的便利,而不是只能迂回地回到應用程序列表并找到上一個使用的應用程序再次啟動。

當所有活動從堆棧中清除,任務結束。也就是說,在應用程序的主界面按下返回鍵,應用程序就已經退出了。

除非,這個應用程序設計了后臺運行的進程和服務。比如”新浪微博”,即使你在應用程序主界面按下返回鍵退出了,在”程序管理”>”正在運行”界面上仍然可以看到正在運行的進程和服務。(需通過菜單鍵切換至”顯示當前運行的服務”視圖)

正如上面提到的,后臺服務是一個無界面、長時間運行的應用功能,并且不會輕易被終止。即便你使用第三方的”任務管理器”來結束進程和服務,也有可能會自動重啟進程和服務。(其實可以在”服務”界面找到它并且手動停止服務,只不過沒有這個必要性,交給系統自動處理即可。)

至此,我們已經知道Android應用程序為什么不需要手動退出了。因為聰明的系統已經幫助用戶做了許多事情,包括退出應用程序以及恢復可用內存。

受限于Android官方對設計規范的態度,Android并沒有像iOS那樣明文告訴設計者不需要這個不需要那個。Android應用程序的設計模式也因此而”百花齊放”,很難形成較為統一的體驗。比如本文提到的需不需要手動退出Android應用程序的話題,如果在iOS中看到屏幕上有退出應用程序的按鈕,是一件搞笑的事情。

無論如何,Android也好iOS也罷,用戶本來就不需要關注”進程”或”內存管理”、”任務管理”這些東西。用完,離開界面即可,就這么簡單!把用戶不需要關注的問題拋給用戶,無異于”不想讓小孩玩火,但是又給他一個打火機。”

設計師們,該做些什么了。改變吧!

看到這里,也許你會問:既然Android應用程序在后臺被掛起暫停了,但是為何開多了應用程序手機還是會變慢呢?

一方面:新運行的應用程序如果需要較大的內存,自然會比較慢。另外,如果手機本身的內存過小且CPU不給力,系統自然會因較頻繁地自動結束進程釋放緩存而導致手機在某些時候運行比較慢的感覺。

也正因為這樣,我們知道了為什么”任務管理器”會如此流行,甚至成了”裝機必備”。人們用它來快速提前釋放緩存以保證運行新應用程序時有足夠的內存。當然,隨著CPU頻率越來越高,內存越來越大的發展趨勢,手動清除緩存已經慢慢變得不再需要。

另一方面:臨時啟動的后臺服務可能會導致手機變慢。有些應用程序在后臺監聽到指定的事件會自動啟動,比如操作系統本身的”Google服務”,又比如連接USB并且在PC上啟動”豌豆莢手機精靈”,手機上的”豌豆莢守護精靈”會自動啟動。為了避免這種情況,只能建議你有選擇性的安裝應用程序了。聰明的軟件需要先進的硬件來支持。

也許你又會問:既然在應用程序主界面用返回鍵可以直接退出應用程序,可是為什么某Android應用程序(尤其是國內的)要彈出退出確認對話框呢?

往往他們會說是為了防止用戶誤操作,但完全是多余的考慮,因為有足夠的恢復保障。背后真正的原因其實是產品人不希望自己的應用程序太容易被用戶”退出”,為此給用戶增加一道障礙墻。擔心誤操作,在我看來都是借口。

瞧瞧我們眼前的PC軟件吧!單擊窗口右上角的 X 圖標后,也有不少軟件在干同樣的事情呢。

毫不客氣地說,這是典型的把責任推卸給用戶的做法。似乎在警告用戶:”真的要退出了?確定的話我就不管你了!”

我們應該盡可能少使用對話框,提供必要的容錯支持。允許用戶犯錯,并給予恢復的機會。比如你可以允許用戶在按下返回鍵離開應用程序后還能再次返回現場。這在很多優秀的第三方應用程序上均有體現,比如Twitter、米聊……

當然,沉浸式的應用程序除外。比如影片正在播放或者游戲正在進行的畫面,應當盡可能地不要讓用戶犯錯被退出。沉浸式的應用程序應當提供沉浸式的體驗保障,因為游戲或影片進行到一半被退出往往是無法返回現場的。

最后,補充說明:本文所說的”退出”是指退出應用程序,而不是指退出帳戶的登錄狀態。如果你的應用程序是需要用戶使用帳號密碼登錄的,那么提供”退出登錄”(或叫”注銷”)的功能,是有必要的。

責任編輯:佚名 來源: uedc.163
相關推薦

2022-02-15 07:26:34

web前端算法題

2010-11-23 10:55:47

跳槽

2020-12-20 18:08:31

業務層服務化微服務

2015-07-02 14:15:28

云遷移應用重構頭號難題

2023-10-04 00:19:00

Java開發

2017-03-13 13:54:40

戴爾

2015-09-14 11:06:53

PYTHON運維

2020-09-09 10:07:06

導航手機導航北斗導航

2020-02-29 15:58:37

iPhoneiOS安卓

2012-08-23 09:50:07

測試測試人員軟件測試

2009-11-23 12:45:22

2015-08-20 10:56:19

算法界面開發

2013-12-02 09:43:29

字符串編程

2024-02-22 09:00:00

LogitMat數據集算法

2015-09-30 09:57:53

天分熱情工程師

2014-12-10 10:45:56

Android應用權限

2022-09-14 15:10:40

前端架構

2013-07-18 09:21:32

代碼文檔

2014-01-17 13:09:48

Linux碎片整理

2021-12-12 22:20:47

Docker開發容器
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成人福利网 | 99久久国产综合精品麻豆 | 国产精品国产三级国产aⅴ浪潮 | 精品久久久久一区二区国产 | 国产精品亚洲成在人线 | 免费黄色的网站 | 一级特黄视频 | 亚洲精品不卡 | 大久 | 亚洲人精品午夜 | 亚洲电影中文字幕 | 产真a观专区 | 最新中文字幕一区 | 欧美日韩综合一区 | 农夫在线精品视频免费观看 | 美国黄色毛片 | 日韩av成人 | 精品乱码久久久久 | 97色在线观看免费视频 | 成人精品一区二区三区中文字幕 | 成人免费小视频 | 欧美xxxⅹ性欧美大片 | 亚洲欧美自拍偷拍视频 | 国产成人精品一区二区三区四区 | 日韩在线观看中文字幕 | 国产精品久久久久久久久久免费看 | 国产在线对白 | 在线免费观看黄a | 国产欧美精品一区 | 亚洲精品一区二区三区四区高清 | 久草.com | 国产区精品在线观看 | 国产a区| 97人人超碰 | 情侣黄网站免费看 | 亚洲精品在线免费播放 | 欧美国产视频 | 久久99视频免费观看 | 国产三区视频在线观看 | 亚洲免费观看视频网站 | 中文字幕精品一区 |