Android組件Activity初探

來源:互聯網
上載者:User

標籤:

 

1.Activity是什麼

Activity是Android系統中的四大組件之一,在MVC模式中屬於C控制層

       M(Model 模型):Model是應用程式的主體對象。
       V(View 視圖):是應用程式中負責產生使用者介面的部分,使用XML作為程式設計語言。
       C(Controller控制層)android的控制層的重任就要落在眾多的activity的肩上了,所以在這裡就要建議大家不要在activity中寫太多的代碼,盡量能過activity交割Model商務邏輯層處理。

 

一個應用程式通常由多個Activities組成,他們通常是松耦合關係。通常,應用程式中第一個被展示的Activity被指定為"Main" Activity。每一個Activity然後可以啟動另一個Activity。每一次一個Activity啟動,前一個activity就停止了。當一個新Activity啟動,它被推送到棧頂(壓棧),取得使用者焦點。Back Stack符合簡單“後進先出”原則,所以,當使用者完成當前Activity然後點擊back按鈕,它被彈出棧(並且被摧毀),然後之前的Activity恢複。

 

2.Activity的生命週期

Activity生命週期圖

 

 

Activity 的生命週期中的系統回呼函數。
public class Activity extends ApplicationContext {
      protected void onCreate(Bundle icicle);
      protected void onStart();
      protected void onRestart();
      protected void onResume();
      protected void onFreeze(Bundle outIcicle);
      protected void onPause();
      protected void onStop();
      protected void onDestroy();
}

 

3.Activity的狀態類型

Activity有四種狀態:
       活動狀態(Activity):當Activity處於Stack(棧)頂時,就是手機當前的現實螢幕,這是 Activity就處於activity或者運行狀態。
       運行但是失去焦點(Pause):當Activity還處於運行狀態時,但是螢幕是有另外一個Activity處於文檔處於焦點狀態,當前的Activity就處於pause。
       停止(Stop),當Activity被另一個Activity完全覆蓋的時候,就被停止了,其實就是雖然在運行,但是使用者卻看不見。
       結束(Destroy),當Activity處於pause或者stop時,系統可以結束 Activity,回收資源,這是Activity就是處於結束狀態了。
       

4.Activity的回應時間
       當前Activity所在的線程為主線程,它的回應時間為5秒,如果在當前啟動並執行Activity中進行耗時的操作且回應時間起過5秒,那麼程式就會報ANR錯誤。所以,這也是不建議在Activity中寫太多複雜代碼的原因之一。
       當然,有些代碼只能寫在Activity中,不然就運行不了(它們不是生命週期方法),比如你想要獲得android系統或者硬體一的些資訊,就必須在Activity中寫出來,如果單獨寫一個工具類獲得不了。

Android組件Activity初探

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.