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

Android生命周期重要概念詳解

移動開發 Android
Android生命周期主要就是由系統控制而并不是非程序自身直接控制的。我們在這篇文章將會針對這一生命周期進行一個詳細的介紹。

Android一經推出就廣受開發人員的喜愛。大家可以通過開源的代碼進行相應的修改就能很好的滿足自己所需要的功能。在這里先來具體了解一下Android生命周期的相關概念,以方便大家今后的學習。

在眾人的猜測和期盼中,Google 終于發布了 Android SDK,為 “GPhone” 這個曾經充滿爭議的新名詞下了一個官方定義。Google 并沒有轉行做硬件,我們可能還要等一年左右的時間才能觸摸到真正的 “GPhone”。但是作為開發人員,有了 SDK 和 emulator 我們就可以提前開始 “GPhone 之旅”了。#t#

我看了一些 Android SDK 的文檔和視頻,在模擬世界中使用了一把 GPhone —— 其實就是在電腦上運行了一下 Android 的 emulator。在激動之余,我也對 Android 有了些許認識。睡覺前花了一些時間整理出來和大家分享,也請大家指正。

Android 是一構建在 Linux 之上的開源移動開發平臺,在 Android 中,多數情況下每個程序都是在各自獨立的 Linux 進程中運行的。當一個程序或其某些部分被請求時,它的進程就“出生”了;當這個程序沒有必要再運行下去且系統需要回收這個進程的內存用于其他程序時,這個 進程就“死亡”了。

可以看出,Android生命周期是由系統控制而非程序自身直接控制。這和我們編寫桌面應用程序時的思維有一些不同,一個桌面應用程序的進程也是在其他進程或用戶請求時被創 建,但是往往是在程序自身收到關閉請求后執行一個特定的動作(比如從 main 函數中 return)而導致進程結束的。要想做好某種類型的程序或者某種平臺下的程序的開發,最關鍵的就是要弄清楚這種類型的程序或整個平臺下的程序的一般工作 模式并熟記在心。Android生命周期控制就是屬于這個范疇——我的個人理解:)

在 Android 系統中,當某個 activity(應用程序的一個“幀”)調用 startActivity(myIntent) 時,系統會在所有已經安裝的程序中尋找其 intent filter 和 myIntent 最匹配的一個 activity,啟動這個進程,并把這個 intent 通知給這個 activity。這就是一個程序的“生”。比如我們在 Home application 中選擇 “Web browser”,系統會根據這個 intent 找到并啟動 Web browser 程序,顯示 Web browser 的一個 activity 供我們瀏覽網頁(這個啟動過程有點類似我們在在個人電腦上雙擊桌面上的一個圖標,啟動某個應用程序)。在 Android 中,所有的應用程序“生來就是平等的”,所以不光 Android 的核心程序甚至第三方程序也可以發出一個 intent 來啟動另外一個程序中的一個 activity。Android 的這種設計非常有利于“程序部件”的重用。

一個 Android 程序的進程是何時被系統結束的呢?通俗地說,一個即將被系統關閉的程序是系統在內存不足(low memory)時,根據“重要性層次”選出來的“犧牲品”。一個進程的重要性是根據其中運行的部件和部件的狀態決定的。各種進程按照重要性從高到低排列如 下:

1. 前臺進程。這樣的進程擁有一個在屏幕上顯示并和用戶交互的 activity 或者它的一個 IntentReciver 正在運行。這樣的程序重要性***,只有在系統內存非常低,萬不得已時才會被結束。

2. 可見進程。在屏幕上顯示,但是不在前臺的程序。比如一個前臺進程以對話框的形式顯示在該進程前面。這樣的進程也很重要,它們只有在系統沒有足夠內存運行所有前臺進程時,才會被結束。

3. 服務進程。這樣的進程在后臺持續運行,比如后臺音樂播放、后臺數據上傳下載等。這樣的進程對用戶來說一般很有用,所以只有當系統沒有足夠內存來維持所有的前臺和可見進程時,才會被結束。

4. 后臺進程。這樣的程序擁有一個用戶不可見的 activity。這樣的程序在系統內存不足時,按照 LRU 的順序被結束。

5. 空進程。這樣的進程不包含任何活動的程序部件。系統可能隨時關閉這類進程。

從某種意義上講,垃圾收集機制把程序員從“內存管理噩夢”中解放出來,而Android生命周期管理機制把用戶從“任務管理噩夢”中解放出來。我見過一些 Nokia S60 用戶和 Windows Mobile 用戶要么因為長期不關閉多余的應用程序而導致系統變慢,要么因為不時查看應用程序列表而影響使用體驗。Android 使用 Java 作為應用程序 API,并且結合其獨特的生命周期管理機制同時為開發者和使用者提供***程度的便利。

責任編輯:曹凱 來源: CSDN
相關推薦

2012-04-28 13:23:12

Java生命周期

2024-01-08 22:08:48

Rust生命周期編程

2009-12-22 10:05:54

WCF編程生命周期

2011-06-16 09:31:21

ActivityAndroid

2011-08-10 16:50:10

iPhone生命周期

2009-07-31 10:47:18

ASP.NET頁面生命

2015-07-08 16:28:23

weak生命周期

2021-09-03 07:27:38

AndroidGlide管理

2010-09-22 15:24:22

OracleAgile

2014-04-16 13:31:27

AndroidFragment多屏幕支持

2022-04-19 07:20:24

軟件開發安全生命周期SSDLC應用安全

2012-06-20 10:29:16

敏捷開發

2009-06-24 10:47:55

JSF生命周期

2013-08-19 17:03:00

.Net生命周期對象

2021-07-19 05:52:29

網絡生命周期網絡框架

2009-08-10 14:31:46

ASP.NET組件設計ASP.NET控件生命

2010-02-06 10:34:11

Android生命周期

2009-06-11 11:28:35

JSF生命周期

2010-07-14 10:48:37

Perl線程

2010-02-06 10:42:41

Android Ser生命周期
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: re久久 | 欧美日韩电影一区二区 | 久久伊人操| 国产亚洲精品久久久优势 | 国产一区二区三区不卡av | 精品国产乱码久久久久久丨区2区 | 五月天国产在线 | 欧产日产国产精品99 | 夜操| 久久国产精品视频 | 日韩成人国产 | 九色视频网站 | 亚洲精品乱码久久久久v最新版 | 视频一二三区 | 麻豆天堂| 国产精品久久视频 | 一级在线观看 | av一区二区在线观看 | 日韩免费视频一区二区 | 亚洲免费在线视频 | 欧美日韩国产在线 | 一区视频在线播放 | 久久九精品 | 97久久精品午夜一区二区 | 日韩伦理一区二区 | www.97国产| 日韩在线欧美 | 国产精品美女久久久久久久久久久 | 日日碰狠狠躁久久躁96avv | 亚洲精品在线视频 | 成人午夜视频在线观看 | 久久成人精品 | 精品国产一区二区三区在线观看 | 一区二区免费 | 青青草中文字幕 | 精品一区国产 | 手机看片在线播放 | 九九热在线视频观看这里只有精品 | 精品伦精品一区二区三区视频 | 欧美成年黄网站色视频 | 国产一二区视频 |