開心生活站

位置:首頁 > 綜合知識 > 

lifecycle軟件怎麼用,lifecycle可以實現什麼功能

1.lifecycle可以實現什麼功能

接着上一篇文章的內容,這篇文章一邊分析RxLifecycle的實現原理,一邊學習RxJava操作符。

lifecycle軟件怎麼用 lifecycle可以實現什麼功能

首先RxLifecycle在基礎類裏定義BehaviorSubject並綁定Activity或Fragment的生命週期,生命週期被調用時BehaviorSubject就發射相應週期的數據。 並且BehaviorSubject同時作爲一個被觀察者,隨時被自定義的操作符觀察着。

```java private final BehaviorSubject lifecycleSubject = BehaviorSubject.create(); @Override @CallSuper protected void onStart() { super.onStart(); lifecycleSubject.onNext(ActivityEvent.START); } @Override @CallSuper protected void onResume() { super.onResume(); lifecycleSubject.onNext(ActivityEvent.RESUME); } @Override @CallSuper protected void onPause() { lifecycleSubject.onNext(ActivityEvent.PAUSE); super.onPause(); } @Override @CallSuper protected void onStop() { lifecycleSubject.onNext(ActivityEvent.STOP); super.onStop(); } ``` 再來看看基礎類裏如何提供定義的變換符,RxLifecycle提供的bindActivity方法將BehaviorSubjec傳入,定義的操作符根據生命週期數據進行變換。 ```java @Override @NonNull @CheckResult public finalObservable.Transformer bindToLifecycle() { return RxLifecycle.bindActivity(lifecycleSubject); } ``` 把核心變換操作的代碼貼上,邊分析思路邊熟悉瞭解幾個陌生的操作符。

這裏幾個關鍵的操作應用實現了,綁定生命週期的變化。 ###takeUntil TakeUntil 訂閱並開始反射原始Observable,它還監視你提供的第二個Observable。

如果第二個Observable發射了一項數據或者發射了一個終止通知,TakeUtil返回的Observable會停止反射原始Observable並終止。源碼使用這個操作判斷是否執行發射原始Observable。

代碼理解一下takeUntil的作用 ```Java Observable.just(1).takeUntil(Observable.create(new Observable.OnSubscribe() { @Override public void call(Subscriber subscriber) { //subscriber.onNext("abc"); //如果不發射"abc",Log信息回接收到onNext=1; } })).subscribe(Utils.getSubscriber()); ``` ```java 04-26 18:19:59.886 15714-15714/qulei.rxjava.demo D/RxJava: onNext : 1 04-26 18:19:59.886 15714-15714/qulei.rxjava.demo D/RxJava: onCompleted ``` ###combineLatest 當兩個Observables中的任何一個發射了數據時,使用一個函數結合每個Observable發射的最近數據項,並且基於這個函數的結果發射數據。這裏根據BehaviorSubject生命週期的變化作爲判斷是否發射數據終止原始它還監視你提供的第二個Observable。

```java Observable.combineLatest( sharedLifecycle.take(1).map(correspondingEvents),sharedLifecycle.skip(1), new Func2() { @Override public Boolean call(R bindUntilEvent, R lifecycleEvent) { return lifecycleEvent.equals(bindUntilEvent); } }) ``` ###takeFirst   如果原始Observable沒有發射任何滿足條件的數據,takeFist 會返回一個空的Observable(不調用 onNext() 但是會調用 onCompleted )。如果生命週期不是綁定的週期,將繼續匹配下一個週期時間,如果相同就發送空的Observable,停止原始的Observable執行發射數據。

        原理分析到這裏希望能夠帶來幫助。

2.software life cycle是什麼意思

software life cycle意思是:[計] 軟件生存期

[網絡短語]

software life cycle 軟件生存週期, 軟件生命週期, 軟件生存期

software often life cycle 軟件生存週期

Software Developement Life Cycle 軟件開發過程

例句

Because the risk and impact of SOA is distributed and pervasive acrossapplications, it is critical to perform an architecture evaluation early in thesoftware life cycle.

由於SOA的風險和影響是分散並且滲透到各個應用中的,在軟件生命週期中儘早實行架構評估非常關鍵。

3.lifecycle可以實現什麼功能

接着上一篇文章的內容,這篇文章一邊分析RxLifecycle的實現原理,一邊學習RxJava操作符。

首先RxLifecycle在基礎類裏定義BehaviorSubject並綁定Activity或Fragment的生命週期,生命週期被調用時BehaviorSubject就發射相應週期的數據。 並且BehaviorSubject同時作爲一個被觀察者,隨時被自定義的操作符觀察着。

```java private final BehaviorSubject lifecycleSubject = BehaviorSubject.create(); @Override @CallSuper protected void onStart() { super.onStart(); lifecycleSubject.onNext(ActivityEvent.START); } @Override @CallSuper protected void onResume() { super.onResume(); lifecycleSubject.onNext(ActivityEvent.RESUME); } @Override @CallSuper protected void onPause() { lifecycleSubject.onNext(ActivityEvent.PAUSE); super.onPause(); } @Override @CallSuper protected void onStop() { lifecycleSubject.onNext(ActivityEvent.STOP); super.onStop(); } ``` 再來看看基礎類裏如何提供定義的變換符,RxLifecycle提供的bindActivity方法將BehaviorSubjec傳入,定義的操作符根據生命週期數據進行變換。 ```java @Override @NonNull @CheckResult public finalObservable.Transformer bindToLifecycle() { return RxLifecycle.bindActivity(lifecycleSubject); } ``` 把核心變換操作的代碼貼上,邊分析思路邊熟悉瞭解幾個陌生的操作符。

這裏幾個關鍵的操作應用實現了,綁定生命週期的變化。 ###takeUntil TakeUntil 訂閱並開始反射原始Observable,它還監視你提供的第二個Observable。

如果第二個Observable發射了一項數據或者發射了一個終止通知,TakeUtil返回的Observable會停止反射原始Observable並終止。源碼使用這個操作判斷是否執行發射原始Observable。

代碼理解一下takeUntil的作用 ```Java Observable.just(1).takeUntil(Observable.create(new Observable.OnSubscribe() { @Override public void call(Subscriber subscriber) { //subscriber.onNext("abc"); //如果不發射"abc",Log信息回接收到onNext=1; } })).subscribe(Utils.getSubscriber()); ``` ```java 04-26 18:19:59.886 15714-15714/qulei.rxjava.demo D/RxJava: onNext : 1 04-26 18:19:59.886 15714-15714/qulei.rxjava.demo D/RxJava: onCompleted ``` ###combineLatest 當兩個Observables中的任何一個發射了數據時,使用一個函數結合每個Observable發射的最近數據項,並且基於這個函數的結果發射數據。這裏根據BehaviorSubject生命週期的變化作爲判斷是否發射數據終止原始它還監視你提供的第二個Observable。

```java Observable.combineLatest( sharedLifecycle.take(1).map(correspondingEvents),sharedLifecycle.skip(1), new Func2() { @Override public Boolean call(R bindUntilEvent, R lifecycleEvent) { return lifecycleEvent.equals(bindUntilEvent); } }) ``` ###takeFirst   如果原始Observable沒有發射任何滿足條件的數據,takeFist 會返回一個空的Observable(不調用 onNext() 但是會調用 onCompleted )。如果生命週期不是綁定的週期,將繼續匹配下一個週期時間,如果相同就發送空的Observable,停止原始的Observable執行發射數據。

        原理分析到這裏希望能夠帶來幫助。

4.如何通過lifecycle controller 安裝windows 2008操作系統

戴爾從第11代服務器開始推出生命週期控制器(簡稱LC,即Lifecycle Controller)。生命週期控制器(LC)通過在主板上部署的控制芯片和閃存,與BMC以及iDRAC卡配合,在服務器的整個生命週期內高效地管理部署、配置、更新、診斷和維護。第12代服務器着重強化了管理功能,其中顯著的一點就是將生命週期控制器更新至第二代的LC2,並與iDRAC 7有機的結合在一起,集成在主板上,提高了性能,增加了功能。

那麼LC到底可以做什麼事情呢?我們來看一看。

LC的管理界面叫做嵌入式服務器管理工具(USC),只需要在啓動時按F10就可以進入,非常簡單無需任何啓動介質。

在USC中可以對常用的組件,如iDRAC、PERC卡進行初始化配置。無需進入操作系統就可以完成初始化服務器的所有操作。

LC將部件的固件和驅動都存放在閃存中,因此在使用USC部署操作系統時,不需要加載任何額外驅動程序,就可以直接進行常用操作系統的安裝。部署服務器的工作從數個小時甚至整天的手工工作縮短到數十分鐘的自動工作。

更新固件也不再是複雜的事情,只下載系統的固件光盤,在USC中簡單點擊升級操作就可以完成。管理員還可以選擇將固件回滾至前一個版本。

LC中包含系統的硬件診斷軟件,可以在USC中對系統進行硬件診斷。

當硬件更換時,LC能夠自動檢測到備件的硬件更換時固件與配置的變化,提示用戶選擇是否將備件的固件與配置恢復到原有版本。管理員還在USC中將主板的BIOS及設置備份到iDRAC的vFlash SD卡上或者導出到USB設備,萬一需要更換主板後可以迅速恢復設置。

利用LC提供的各種部署和配置功能,可以大大減少管理員的工作時間。同時可以在出現故障時更快地恢復系統正常運行。另外LC還可以使用標準的WSMan接口運行腳本,使用腳本實現大量服務器的統一部署、更新和維護。

Lifecycle Controller 2的使用

在系統啓動時按F10就可以進入Lifecycle Controller的管理界面USC(Unified Server Configurator):

從上圖我們可以看到,LC2管理界面中的主要選項包括:

Platform Update: 固件更新

Hardware Configuration: PREC、iDRAC等設備的硬件配置

OS Deployment: 部署操作系統

Platform Restore: 備份和恢復系統配置,更換備件後固件的刷新、回滾

Hardware Diagnostic: 硬件故障診斷

其它例如LC的日誌、設置,以及切換到其它配置界面,如BIOS配置等

5.什麼是軟件的生命週期

軟件生命週期(SDLC,Systems Development Life Cycle,SDLC)是軟件的產生直到報廢或停止使用的生命週期。舊的解釋是週期內有問題定義、可行性分析、總體描述、系統設計、編碼、調試和測試、驗收與運行、維護升級到廢棄等階段,這種按時間分程的思想方法是軟件工程中的一種思想原則,即按部就班、逐步推進,每個階段都要有定義、工作、審查、形成文檔以供交流或備查,以提高軟件的質量。

隨着新的面向對象的設計方法和技術的成熟,早期軟件生命週期設計方法的指導意義正在逐步減少或需要調整。[1] 不過從另一種意義來說,面向對象本身也是一種軟件生命週期,傳統的軟件生命週期的概念仍是所有軟件工程師非常重要的知識基礎和工作指導。

軟件生命週期的解釋也應當調整。

以上舊的解釋與下文的生命週期模型是不相容的,只與瀑布型生命週期模型及其衍生模型(比如V模型,W模型)相符合,而與迭代爲基本特徵的生命週期模型是不符合的。新的情況應當是把迭代加入到階段當中,如下:軟件生命週期內有問題定義、可行性分析、總體描述、系統設計、編碼、調試和測試、驗收與運行、維護升級到廢棄等階段,也有將以上階段的活動組合在內的迭代階段,即迭代作爲生命週期的階段。

6..軟件生命週期分爲哪幾個階段

軟件生命週期(sdlc,systems

development

life

cycle,sdlc)是軟件的產生直到報廢或停止使用的生命週期.週期內有問題定義、可行性分析、總體描述、系統設計、編碼、調試和測試、驗收與運行、維護升級到廢棄等階段,這種按時間分程的思想方法是軟件工程中的一種思想原則,即按部就班、逐步推進,每個階段都要有定義、工作、審查、形成文檔以供交流或備查,以提高軟件的質量。但隨着新的面向對象的設計方法和技術的成熟,軟件生命週期設計方法的指導意義正在逐步減少。

階段

同任何事物一樣,一個軟件產品或軟件系統也要經歷孕育、誕生、成長、成熟、衰亡等階段,一般稱爲軟件生存週期(軟件生命週期)。把整個軟件生存週期劃分爲若干階段,使得每個階段有明確的任務,使規模大,結構複雜和管理複雜的軟件開發變的容易控制和管理。通常,軟件生存週期包括:

一,問題定義。要求系統分析員與用戶進行交流,弄清“用戶需要計算機解決什麼問題”然後提出關於“系統目標與範圍的說明”,提交用戶審查和確認。

二,可行性研究。一方面在於把待開發的系統的目標以明確的語言描述出來,另一方面從經濟、技術、法律等多方面進行可行性分析。

三,需求分析。弄清用戶對軟件系統的全部需求,編寫需求規格說明書和初步的用戶手冊,提交評審。

四,開發階段。開發階段由三個階段組成:

1,設計

2,實現:根據選定的程序設計語言完成源程序的編碼。

3,測試

五,維護:維護包括四個方面

1,改正性維護:在軟件交付使用後,由於開發測試時的不徹底、不完全、必然會有一部分隱藏的錯誤被帶到運行階段,這些隱藏的錯誤在某些特定的使用環境下就會暴露。

2,適應性維護:是爲適應環境的變化而修改軟件的活動。

3,完善性維護[1]

:是根據用戶在使用過程中提出的一些建設性意見而進行的維護活動。

4,預防性維護:是爲了進一步改善軟件系統的可維護性和可靠性,併爲以後的改進奠定基礎。

7.什麼是軟件的生命週期

軟件生命週期(SDLC,Systems Development Life Cycle,SDLC)是軟件的產生直到報廢或停止使用的生命週期。

舊的解釋是週期內有問題定義、可行性分析、總體描述、系統設計、編碼、調試和測試、驗收與運行、維護升級到廢棄等階段,這種按時間分程的思想方法是軟件工程中的一種思想原則,即按部就班、逐步推進,每個階段都要有定義、工作、審查、形成文檔以供交流或備查,以提高軟件的質量。隨着新的面向對象的設計方法和技術的成熟,早期軟件生命週期設計方法的指導意義正在逐步減少或需要調整。

[1] 不過從另一種意義來說,面向對象本身也是一種軟件生命週期,傳統的軟件生命週期的概念仍是所有軟件工程師非常重要的知識基礎和工作指導。軟件生命週期的解釋也應當調整。

以上舊的解釋與下文的生命週期模型是不相容的,只與瀑布型生命週期模型及其衍生模型(比如V模型,W模型)相符合,而與迭代爲基本特徵的生命週期模型是不符合的。新的情況應當是把迭代加入到階段當中,如下:軟件生命週期內有問題定義、可行性分析、總體描述、系統設計、編碼、調試和測試、驗收與運行、維護升級到廢棄等階段,也有將以上階段的活動組合在內的迭代階段,即迭代作爲生命週期的階段。

標籤:lifecycle 軟件