生命周期

生命周期

生命周期就是指一個對象的生老病死。 生命周期(Life Cycle)的概念套用很廣泛,特別是在政治、經濟、環境、技術、社會等諸多領域經常出現,其基本涵義可以通俗地理解為“從搖籃到墳墓”(Cradle-to-Grave)的整個過程。對於某個產品而言,就是從自然中來回到自然中去的全過程,也就是既包括製造產品所需要的原材料的採集、加工等生產過程,也包括產品貯存、運輸等流通過程,還包括產品的使用過程以及產品報廢或處置等廢棄回到自然過程,這個過程構成了一個完整的產品的生命周期。

研究歷史

LCA研究起源於20世紀60年代的能源危機,在70年代初期,該研究主要集中在包裝廢物問題上,如美國中西部研究所(Midwest Research Institute,簡稱MRI)對可口可樂公司的飲料包裝瓶進行的,從原材料採掘到廢棄物最終處置的全程跟蹤與定量研究。20世紀70年代中期,全生命周期評價的研究焦點是能源問題和固體廢棄物方面。

生命周期評價起源於20世紀60年代,由於能源危機的出現和對社會產生的巨大衝擊,美國和英國相繼開展了能源利用的深入研究,生命周期評價的概念和思想逐步形成。值得說明的是,生命周期評價後來在生態環境領域有著廣泛的套用。

綜觀生命周期評價歷程,其發展可以分為三個階段。

20世紀70年代初期,該研究主要集中在包裝廢棄物問題上,如美國中西部研究所(MidwestRe-searchInstitute,簡稱MRI)對可口可樂公司的飲料包裝瓶進行評價研究,該研究試圖從原材料採掘到廢棄物最終處置,進行了全過程的跟蹤與定量研究,揭開了生命周期評價的序幕。

20世紀70年代中期,生命周期評價的研究引起重視,一些學者、科研機構和政府投入了一定的人力、物力開展研究工作。在此階段,研究的焦點是能源問題和固體廢氣物方面。,歐洲、美國一些研究和諮詢機構依據相關的思想,探索了有關廢物管理的方法,研究污染物排放、資源消耗等潛在影響,推動了LCA向前發展。

20世紀80年代,“尿布事件”在美國某州引起人們的關注。所謂的“尿布事件”就是禁止和重新使用一次性尿布引發的事件。在期出,由於一次性尿布的大量使用,產生了大量的固體垃圾,填埋處理這些垃圾需要大量的土地,壓力很大,於是議會頒布法律禁止使用一次性尿布而改用多次性尿布,由於多次性尿布的洗滌,增加了水資源和洗滌劑消耗量,不僅加劇了該州水資源供需矛盾,而且加大了水資源污染,該州運用生命周期的思想對使用還是禁止一次性尿布進行了重新評估,評估結果表明,使用一次性尿布更加合理,一次性尿布得以恢復使用。“尿布事件”是生命周期評價比較典型的例子之一,影響較大。

由於環境問題的日益嚴重,不僅影響經濟的發展,而且威脅人類的生存,人們的環境意識普遍高漲,生命周期評價獲得了前所未有的發展的機遇。

1990年8月,國際環境毒理學和化學學會(SETAC)在有關生命周期評價的國際研討會上,首次提出了“生命周期評價”的概念,並成立了LCA顧問組,負責LCA方法論和套用方面的研究。從1990年開始,SETAC已在不同國家和地區舉辦了20多期有關LCA的研討班,發表了一些具有重要指導意義的文獻,對LCA方法論的發展和完善以及套用的規範化作出了巨大的貢獻。與此同時,歐洲一些國家先後制定了一系列促進LCA的政策和法規,如“生態標誌計畫”、“生態管理與審計法規”、“包裝及包裝廢物管理準則”等,LCA開始在全球教育、交流、公共政策、科學研究和方法學研究等各方面獲得大量套用。如日本已完成數十種產品的LCA。1993年出版的《LCA原始資料》,是當時最全面的LCA活動綜述報告。

歐洲生命評價開發促進會促進會(SPOLD)是一個工業協會,對生命周期評價也開展了系列工作,近年來致力於維護和開發SPOLD格式、供清單分析和SPOLD數據網使用。聯合國環境規劃署1998年在美國舊金山召開了“走向LCA的全球使用”研討會,其宗旨是在全球範圍內更多地使用LCA,以實現可持續發展,此次會議提出了在全球範圍內使用LCA的建議和在教育、交流、公共政策、科學研究和方法學開發等方面的行動計畫。

國際標準化組織1993年6月成立了負責環境管理的技術委員會TC207,負責制訂生命周期評價標準。繼1997年發布了第一個生命周期評價國際標準ISO14040《生命周期評價原則與框架》後,先後發布了ISO14041《生命周期評價目的與範圍的確定,生命周期清單分析》、ISO14042《生命周期評價生命周期影響評價》、ISO14043《生命周期評價生命周期解釋》、ISO/TR14047《生命周期評價ISO14042套用示例》和ISO/TR14049《生命周期評價ISO14041套用示例》。

分類評價

有廣義和狹義之分。狹義是指本義--生命科學術語,即生物體從出生、成長、成熟、衰退到死亡的全部過程。廣義是本義的延伸和發展,泛指自然界和人類社會各種客觀事物的階段性變化及其規律。

產品生命周期理論是由美國經濟學家雷蒙德·弗農於1966年在《產品生命周期中的國際投資與國際貿易》中提出的。它從產品生產的技術變化出發,分析了產品的生命周期以及對貿易格局的影響。他認為,製成品和生物一樣具有生命周期,會先後經歷創新期、成長期、成熟期、標準化期和衰亡期五個不同的階段。

生命周期評價的定義較多,目前具有代表性的有以下三種:

第一種

產品生命周期評價是一個評價與產品、工藝或行動相關的環境負荷的客觀過程,它通過識別和量化能源與材料使用和環境排放,評價這些能源與材料使用和環境排放的影響,並評估和實施影響環境改善的機會。該評價涉及產品、工藝或活動的整個生命周期,包括原材料提取和加工,生產、運輸和分配,使用、再使用和維護,再循環以及最終處置(國際環境毒理學和化學學會)。

第二種

產品生命周期評價是評價一個產品系統生命周期整個階段,從原材料的提取和加工,到產品生產、包裝、市場行銷、使用、再使用和產品維護,直至再循環和最終廢物處置的環境影響的工具(聯合國環境規劃署)。

第三種

產品生命周期評價是對一個產品系統的生命周期中輸入、輸出及其潛在環境影響的彙編和評價(國際標準化組織)。

綜述

上述的定義都是圍繞著產品對環境的影響評價而作出的。這與該思想在環境領域得到廣泛套用有很大關係。從更大範圍來看,該定義還有些狹窄,為了讓更多的領域接受這個概念,其內涵應該進一步擴大。

著者將其定義為:生命周期評價就是對某物從產生到消亡以及消亡後所產生的效應進行全過程的評價。

理論方法

生命周期理論有兩種主要的生命周期方法——一種是傳統的、相當機械的看待市場發展的觀點(產品生命周期/行業生命周期);另外一種更富有挑戰性,觀察顧客需求是怎樣隨著時間演變而由不同的產品和技術來滿足的(需求生命周期)。

產品/行業生命周期是一種非常有用的方法,能夠幫助企業根據行業是否處於成長、成熟、衰退或其他狀態來制定適當的戰略。

這種方法假定,企業在生命周期中(發展、成長、成熟、衰退)每一階段中的競爭狀況是不同的。例如:發展——產品/服務由那些“早期採納者“購買。他們對於價格不敏感,因此利潤會很高。而另一方面,需要大量投資用於開發具有更好質量和大眾化價格的產品,這又會侵蝕利潤。

在這種方法中,由於假定事情必然會遵循一種即定的生命周期模式,這種方法可能導致可預測的而不是有創意的、革新的戰略。

生命周期概念更有建設性的套用是需求生命周期理論。這個理論假定,顧客(個人、私有或公有企業)有某種特定的需求(娛樂、教育、運輸、社交、交流信息等)希望能夠得到滿足。在不同的時候會有不同的產品來滿足這些需求。

技術在不斷發展,人口的統計特徵隨著時間而演變,政治環境則在不同的權力集團之間搖擺不定,消費者偏好也會改變。與其為了保衛特定的產品而戰,倒不如為了確保你能夠繼續滿足顧客需求而戰。

許多電視機生產商看到了他們處於成熟的電視機市場上,卻沒有看到自己還處在一個正在不斷成長中的家庭娛樂市場上。於是他們放棄了這個市場,眼睜睜地看著它同錄像機、家庭電腦以及未來的HDTV(高清晰度電視)一道進入了爆炸式的成長中。

檔案頒布

國際標準化組織ISO1993年6月成立了負責環境管理的技術委員會TC207,負責制訂生命周期評價標準。繼1997年發布了第一個生命周期評價國際標準ISO14040《環境管理生命周期評價原則與框架》後,先後發布了ISO14041《環境管理生命周期評價目的與規範的確定和清單分析》、ISO14042《環境管理生命周期影響評價》、ISO14043《生命周期評價中的生命周期解釋》、ISO/TR14047《ISO14042套用示例》和ISO/TR14049《ISO14041套用示例》等檔案。

昆蟲學定義:昆蟲的卵(或幼蟲和若蟲)從離開母體到成蟲性成熟產生後代為止的個體發育過程,稱為生命周期(lifecycle)或1個世代(generation),完成一個世代所需要的時間,稱為世代歷期。

代表產品

Android應用程式的生命周期

Android應用程式由Activity,Service,BroadCast Receiver,Content Provider這四個組件構成。

大部分情況下,每個Android應用程式都將運行在自己的Linux進程當中。當這個套用的某些代碼需要執行時,進程就會被創建,並且將保持運行,直到該進程不再需要,而系統需要釋放它所占用的記憶體,為其他套用所用時才停止。

Android一個重要並且特殊的特性就是,一個套用的進程的生命周期不是由應用程式自身直接控制的,而是由系統,根據運行中的套用的一些特徵來決定的,包括:這些應用程式對用戶的重要性、系統的全部可用記憶體。

對於套用開發者來說,理解不同的套用組件(特別是Activity、Service、Intent Receiver)對套用進程的生命周期的影響,這是非常重要的。如果沒有正確地使用這些組件,將會導致當套用正在處理重要的工作時,進程卻被系統銷毀的後果。

對於進程的生命周期,一個普遍的錯誤就是:當一個Intent Receiver在它的onReceiveIntent()方法中,接收到一個Intent後,就會從這個方法中返回。而一旦從這個方法返回後,系統將會認為這個Intent Receiver不再處於活動狀態了,也就會認為它的宿主進程不需要了(除非宿主進程中還存在其它的套用組件)。從而,系統隨時都會銷毀這個進程,收回記憶體,並中止其中還在運行的子執行緒。問題的解決辦法就是,在Intent Receiver中,啟動一個Service,這樣系統就會知道在這個進程中,還有活動的工作正在執行。

為了決定在記憶體不足情況下銷毀哪個進程,Android會根據這些進程內運行的組件及這些組件的狀態,把這些進程劃分出一個“重要性層次”(如右圖)。

Android應用程式進程層次 Android應用程式進程層次

1、前台進程是擁有一個顯示在螢幕最前端並與使用者做互動的Activity(它的onResume()方法已被調用)的進程,也可能是一個擁有正在運行的 Intent Receiver(它的onReceiveIntent()方法正在運行)的進程。在系統中,這種進程是很少的,只有當記憶體低到不足於支持這些進程的繼續運行,才會將這些進程銷毀,通常這時候,設備已經達到了需要進行記憶體整理的狀態,為了保障用戶界面不停止回響,只能銷毀這些進程;

2、可見進程是擁有一個用戶在螢幕上可見的,但並沒有在前台顯示的Activity(它的onPause()已被調用)進程。例如:一個以對話框顯示的前台Activity在螢幕上顯示,而它後面的上一級Activity仍然是可見的。這樣的進程是非常重要的,一般不會被銷毀,除非為了保障所有的前台進程正常運行,才會被銷毀。Android進程一般存在少量的可見進程,只有在特殊情況下,Android系統才會為保證前台進程的資源而清除可見進程。

3、服務進程是擁有一個由startService()方法啟動的Service的進程。儘管這些進程對於使用者是不可見的,但他們做的通常是使用者關注的事情(如後台音樂播放器正在播放音樂或後台上傳下載數據的網路服務)。因此,除非為了保障前台進程和可見進程的正常運行,系統才會銷毀這種進程。

4、後台進程是擁有一個用戶不可見的Activity(onStop()方法已經被調用)進程。這些進程不直接影響用戶的體驗。如果這些進程正確地完成了自己的生命周期,系統會為了以上三種類型進程,而隨時銷毀這種進程以釋放記憶體。通常會有很多這樣的進程在運行著,因此這些進程會被保存在一個LRU列表中,以保證在記憶體不足時,用戶最後看到的進程將在最後才被銷毀。

5、空進程是那些不擁有任何活動的套用組件的進程。保留這些進程的唯一理由是,作為一個快取,在它所屬的套用組件下一次需要時,縮短啟動的時間。同樣的,為了在這些快取的空進程和底層的核心快取之間平衡系統資源,系統會經常銷毀這些空進程。

當要對一個進程進行分類時,系統會選擇在這個進程中所有活動的組件中重要等級最高者作為依據。

一個Activity通常是一個單獨的螢幕,Activity生命周期是指Activity從啟動到銷毀的過程。系統中的Activity被一個Activity棧所管理。當一個新的Activity啟動時,將被放置到棧頂,成為運行中的Activity,前一個Activity保留在棧中,不再放到前台,直到運行中的Activity退出為止。

Activity表現為四種狀態:

⒈活動狀態(Active or Running):也稱為運行狀態,處於Activity棧頂,在用戶界面中最上層,完全能被用戶看到,能夠與用戶進行互動;

⒉ 暫停狀態(Paused):Activity失去焦點,Activity界面被部分遮擋,該Activity不再處於用戶界面的最上層,且不能夠與用戶進行互動。一個暫停狀態的Activity依然保持活力(保持所有的狀態,成員信息,與視窗管理器保持連線),但是在系統記憶體不夠用的時候將被殺掉;

⒊停止狀態(Stopped):Activity在界面上完全不能被用戶看到,也就是說這個Activity被其他Activity全部遮擋,但它依然保持所有狀態和成員信息,只是它不再可見,它的視窗被隱藏;

⒋非活動狀態(Killed):當系統記憶體需要被用在其他地方的時候,一個停止狀態的Activity被殺掉。

如果一個Activity是Paused或者Stopped狀態時可以被恢復,也可以被刪除。一個被刪除(殺掉)的Activity如果需要重新恢復就需要重啟。

Activity生命周期 Activity生命周期

右圖顯示了Activity的重要狀態轉換,矩形框表明Activity在狀態轉換之間的回調接口,帶有顏色的橢圓形表明Activity所處的狀態。在右圖中,Activity有三個關鍵的循環:

整個生命周期,從onCreate()開始到onDestroy()結束。Activity在onCreate()設定所有的“全局”狀態,在onDestory()釋放所有的資源。例如:某個Activity有一個在後台運行的執行緒,用於從網路下載數據,則該Activity可以在onCreate()中創建執行緒,在onDestory()中停止執行緒。

可見的生命周期,從onStart()開始到onStop()結束。在這段時間,可以看到Activity在螢幕上,儘管有可能不在前台,不能和用戶互動。在這兩個接口之間,需要保持顯示給用戶的UI數據和資源等,例如:可以在onStart中註冊一個Intent Receiver來監聽數據變化導致UI的變動,當不再需要顯示時候,可以在onStop()中註銷它。onStart(),onStop()都可以被多次調用,因為Activity隨時可以在可見和隱藏之間轉換。

前台的生命周期,從onResume()開始到onPause()結束。在這段時間裡,該Activity處於所有 Activity的最前面,和用戶進行互動。Activity可以經常在resumed和paused狀態之間切換,例如:當設備準備休眠時,當一個Activity處理結果被分發時,當一個新的Intent被分發時。

Activity的整個生命周期都定義在下面的接口方法中,所有方法都可以被重載。所有的Activity都需要實現 onCreate()去初始化設定,大部分Activity需要實現onPause()去提交更改過的數據,當前大部分的Activity也需要實現onFreeze()接口,以便恢復在onCreate()裡面設定的狀態。

相關詞條

相關搜尋

熱門詞條

聯絡我們