日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

对于Activity的理解

發(fā)布時間:2024/9/20 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 对于Activity的理解 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

今天電腦小白來談?wù)勛约簩τ赼ctivity的理解。

主要分為以下四點

1 Activity是什么

Activity是最基本也是最常見的android基本組件之一,負責與用戶交互,一個Activity通常就是一個屏幕

2 Activity的四種啟動模式

先簡單說明:下面提到的棧,指的是task棧。

通過在Manifest文件中設(shè)置Activity的android:launchmode屬性有以下四種啟動模式

a standard

standard是默認設(shè)置,想要以此模式啟動無需設(shè)置launchmode屬性,standard模式啟動一個activity將會生成一個新的activuty對象

b singletop

如果即將要啟動的activity的launchmode屬性為singletop,而該activity已經(jīng)啟動過了且正好位于棧頂,那么android并不會為程序生成一個新的activity,而是直接使用位于棧頂?shù)哪莻€activity,只有滿足上述2個條件才會這樣,否則將會生成一個新的activity。

c singletask

singletask模式下,只會創(chuàng)建該activity的一個實例,在此模式下啟動activity,如果棧中已經(jīng)有了該activity實例,那么直接使用該activity實例。

d singleinstance

該模式下,將會新建一個task,且在該task下生成要啟動的activity實例(該task下只會生成這一個activity實例,且該activity不會被重復(fù)實例化)

3 Activity的生命周期

先上圖:

簡單說明一下,當Activity正處于可見狀態(tài)時,這時它的狀態(tài)是onresume,當新的activity啟動,但之前的activity仍然處于可見狀態(tài)時,該activity處于onpause狀態(tài),不可見則處于onstop狀態(tài),當程序退出時,什么時候是處于ondestroy呢?當該activity實例出棧的時候就會調(diào)用ondestroy。


4 Activity的狀態(tài)保存(兩種)

a 通過onSaveInstanceState()方法對信息進行保存,之后在onCreate(Bundle)或者OnRestoreInstanceState(Bundle)方法中恢復(fù)信息 值得一提的是,onSaveInstanceState()只有在該activity所在進程被系統(tǒng)殺死的時候才會調(diào)用,比如說突然來了電話,系統(tǒng)內(nèi)存不夠,因此殺掉了該進程,這時才會調(diào)用該方法。


b 通過activity的生命周期中的onpause()和onresume()方法,在pause時保存信息,在resume時恢復(fù)信息。



一起學(xué)習(xí),有錯誤請指出


轉(zhuǎn)載于:https://blog.51cto.com/8599981/1398839

與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的对于Activity的理解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。