我對android中Activity的理解

2021-06-22 10:38:51 字數 1277 閱讀 4858

一、activity是什麼

在我們的應用中,我們看到裝置螢幕顯示出來的東西都是屬於activity的,activity可以說是乙個平台,這個平台上我們用來展示view的各種子類(布局、控制項、自定義的view)。activity就像乙個魚缸或者窗戶,而view就像魚缸的水和魚,窗戶外面的風景。我們看到的東西是view,但是我們必須借助activity才能看到。

二、activity的生命週期

activity的生命週期有以下幾個:oncreat、onstart、onresume、onpause、onstop、onrestart、ondeatroy。

我們啟動乙個新的activity的時候會依次呼叫oncreat、onstart、onresume,只有呼叫onresume的時候我們才能看到activity要顯示的內容。

一旦activity被其他activity覆蓋(比如dialogactivity)或者進入鎖屏狀態,activity就會進入onpause狀態,當activity重新回到前台的時候會再次呼叫onresume方法。

如果跳轉到新的activity或者按下home鍵回退到裝置主介面,那麼這時候會先呼叫onpause方法,然後呼叫onstop方法。當使用者再次回到這個activity的時候,會先呼叫onrestart方法,然後呼叫onresume方法。

如果一旦activity不可見的時候(被覆蓋或者出於後台),而系統記憶體不足的時候,系統會自動殺死activity。以後再次進入這個activity的時候,需要重新呼叫oncreat、onstart、onresume方法。

三、acticity的跳轉

intent intent = new intent();

intent.setclass(***activity.this,nextactivity.class);

startactivity(intent);

暫時已知跳轉方法(以後有新的方法,再進行更新)

四、如何利用activity的生命週期

一般來說,我們會把一些準備工作放到oncreat和onstart方法裡面,因為這個時候activity並沒有顯示,所以我們在後台進行一些準備工作。比如呼叫setcontentview方法,設定這個activity需要顯示的view,或者對一些變數進行初始化。(未完。。。。)

五、其他

activity必須在androidmainfest.xml檔案中進行註冊

這裡可以設定程式啟動的第乙個activity以及其他一些屬性

該標籤功能暫時未知,待更新......

關閉android程式裡所有的activity

如果你喜歡開門見山的話,請直接跳到第三段,因為第二段描述的問題有些抽象,無視第二段是不影響理解的。可以利用清理歷史棧的方法,來巧妙關閉所有activity,首先用乙個設定為不可見的activity a來啟動程式,這個activity a的作用只是用來墊棧底,只有啟動和退出程式才會用到這個activi...

delphi2007中如何安裝ActiveX控制項

1 開啟delphi2007,file new package delphi for win32.2 component import component,選擇 import activex control.3 在控制項列表,或add新增選擇相應active控制項後,點next.4 選擇安裝acti...

彩筆對android中ninepatch的理解

目錄 sdk tools draw9patch 為啥叫9patch呢,也許是通過劃線劃點的操作,將素材裁成9分,有點類似於九宮格的樣子。自行腦補。從左到右依次說明都是幹嘛地!zoom 操作介面縮放 show lock 覆蓋原圖大小,沒什麼亂用 show content 劃右側和下側的線可能需要點上,...