亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

32.activity的生命周期

2019-11-09 18:09:55
字體:
來源:轉載
供稿:網友

什么是activity

Activity是安卓四大組件之一(還有Service、BroadcastReceiver、ContentPRovider)

acivity的生命周期如下:

onCreate:Activity創建的時候被調用onStart:Activity能被用戶看見,但是沒有獲得焦點onResume:Activity獲得焦點,此時Activity成為前臺ActivityonPause:Activity失去焦點,但是依然可見onStop:Activity不可見,此時Activity成為后臺ActivityonDestroy:Activity被銷毀內存不足時,系統會優先殺死后臺Activity所在的進程,都殺光了,如果內存還是不足沒那么就會殺死在暫停狀態的Activity所在的進程,如果還是不夠,有可能殺死前臺進程。如果有多個后臺進程,在選擇殺死目標時,采用最近少用使用算法(LRU)

1.啟動Activity:系統會先調用onCreate方法,然后調用onStart方法,最后調用onResume,Activity進入運行狀態。2.當前Activity被其他Activity覆蓋其上或被鎖屏:系統會調用onPause方法,暫停當前Activity的執行。3.當前Activity由被覆蓋狀態回到前臺或解鎖屏:系統會調用onResume方法,再次進入運行狀態。4.當前Activity轉到新的Activity界面或按Home鍵回到主屏,自身退居后臺:系統會先調用onPause方法,然后調用onStop方法,進入停滯狀態。5.用戶后退回到此Activity:系統會先調用onRestart方法,然后調用onStart方法,最后調用onResume方法,再次進入運行狀態。6.當前Activity處于被覆蓋狀態或者后臺不可見狀態,即第2步和第4步,系統內存不足,殺死當前Activity,而后用戶退回當前Activity:再次調用onCreate方法、onStart方法、onResume方法,進入運行狀態。7.用戶退出當前Activity:系統先調用onPause方法,然后調用onStop方法,最后調用onDestory方法,結束當前Activity。

參考代碼如下(通過兩個activity之間的跳轉來查看activity的生命周期):

創建第一個activity

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:paddingBottom="@dimen/activity_vertical_margin"    android:paddingLeft="@dimen/activity_horizontal_margin"    android:paddingRight="@dimen/activity_horizontal_margin"    android:paddingTop="@dimen/activity_vertical_margin"    tools:context=".MainActivity"     android:orientation="vertical"    >    <TextView         android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="第一個activity"        />    <Button        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="跳轉"         android:onClick="click"        /></RelativeLayout>
package com.ldw.lifecycle;import android.app.Activity;import android.content.Intent;import android.net.Uri;import android.os.Bundle;public class SecondActivity extends Activity {	@Override	protected void onCreate(Bundle savedInstanceState){		super.onCreate(savedInstanceState);		setContentView(R.layout.activity_second);				System.out.println("onCreate方法被調用");	}		@Override	protected void onStart(){		super.onStart();		System.out.println("onStart方法調用");	}		@Override	protected void onResume(){		super.onResume();		System.out.println("onResume方法調用");	}		@Override	protected void onPause(){		super.onPause();		System.out.println("onPause方法調用");	}		@Override	protected void onStop(){		super.onStop();		System.out.println("onStop方法調用");	}		@Override	protected void onDestroy(){		super.onDestroy();		System.out.println("onDestroy方法調用");	}		@Override	protected void onRestart(){		super.onRestart();		System.out.println("onRestart方法調用");	}}

創建第二個activity

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical" >        <TextView         android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="第二個activity"        />    <Button        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="跳轉到第一個activity"         android:onClick="click1"        /></LinearLayout>
package com.ldw.lifecycle;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;public class SecondActivity extends Activity {	@Override	protected void onCreate(Bundle savedInstanceState){		super.onCreate(savedInstanceState);		setContentView(R.layout.activity_second);				System.out.println("第二個onCreate方法被調用");	}		public void click1(View v){		Intent intent = new Intent(this, MainActivity.class);		startActivity(intent);	}		@Override	protected void onStart(){		super.onStart();		System.out.println("第二個onStart方法調用");	}		@Override	protected void onResume(){		super.onResume();		System.out.println("第二個onResume方法調用");	}		@Override	protected void onPause(){		super.onPause();		System.out.println("第二個onPause方法調用");	}		@Override	protected void onStop(){		super.onStop();		System.out.println("第二個onStop方法調用");	}		@Override	protected void onDestroy(){		super.onDestroy();		System.out.println("第二個onDestroy方法調用");	}		@Override	protected void onRestart(){		super.onRestart();		System.out.println("第二個onRestart方法調用");	}}

Activity啟動模式標準模式:默認就是,不用設置singleTop:如果站定已經是該activity,就無法再啟動,如果棧頂不是,那么就會啟動。singleTask:如果該activity沒有啟動過,會啟動并跳轉到該activity,即該activity會出現在棧頂,如果該activity啟動過,但不在棧頂,那么再次啟動時會返回到該activity,即把該activity上方所有的activity都銷毀。對于singleTask的activity,在任務棧中,永遠只有一個該activity實例。singleInstance:該activity啟動時,會在新的任務站中啟動,并且只會啟動一次,以后再啟動該activity時,其實知識把該activity所在的任務棧移動到前臺。單例模式的activity,內中永遠只有一個,10個應用啟動單例模式的activity,都只是把該activity所在的任務棧移動到前臺。android橫豎屏切換的時候會觸發生命周期的方法,設置一下可以不用出發生命周期的方法android:configChanges="orientation|keyboardHidden|screenSize"orientation:水平豎直切換的時候不觸發生命周期方法keyboardHidden:鍵盤影藏的時候不觸發生命周期的方法screenSize:屏幕大小變化的時候不觸發生命周期的方法。

參考博客:http://blog.csdn.net/liuhe688/article/details/6733407


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久久久久久爱| 国产欧美一区二区三区在线| 清纯唯美亚洲激情| 国产精品福利小视频| 亚洲精品美女久久久| 亚洲成人999| 成人自拍性视频| 国产精品国产三级国产aⅴ浪潮| 日产精品久久久一区二区福利| 91wwwcom在线观看| 热re99久久精品国产66热| 亚洲欧美日韩精品久久亚洲区| 97色在线视频观看| 国产精品久久久久久亚洲影视| 久久久久久久成人| 日韩av在线网址| 按摩亚洲人久久| 国产日韩中文字幕| 亚洲欧美日韩国产中文专区| 亚洲免费视频观看| 日本久久久久久久久久久| 97在线精品国自产拍中文| 日韩一区二区在线视频| 激情懂色av一区av二区av| 日韩视频一区在线| 精品无人国产偷自产在线| 久久这里只有精品99| 92福利视频午夜1000合集在线观看| 欧美在线视频导航| 91av成人在线| 69精品小视频| 国产97在线视频| 国产精品99导航| 一本色道久久88亚洲综合88| 97人人模人人爽人人喊中文字| 成人欧美一区二区三区在线| 亚洲成人性视频| 久久天天躁狠狠躁夜夜爽蜜月| 国产69精品久久久久9| 亚洲va欧美va国产综合剧情| 国产99久久精品一区二区永久免费| 国产精品久久久久久久久久新婚| 7m第一福利500精品视频| 另类色图亚洲色图| 日韩精品在线免费观看| 国产精品露脸自拍| 久久五月情影视| 97精品国产91久久久久久| 国产精品香蕉国产| 国产精品视频成人| 亚洲国产精品中文| 中文.日本.精品| 亚洲精品视频二区| 国产精品视频内| 最近2019中文免费高清视频观看www99| 777777777亚洲妇女| 亚洲第一免费网站| 大桥未久av一区二区三区| 夜夜躁日日躁狠狠久久88av| 久久夜色精品亚洲噜噜国产mv| 国产精自产拍久久久久久蜜| 国产精品高潮视频| 亚洲精品欧美一区二区三区| 国产小视频国产精品| 国产精品成av人在线视午夜片| 欧美最顶级丰满的aⅴ艳星| 国产美女久久精品香蕉69| 欧美极品美女视频网站在线观看免费| 国外成人免费在线播放| 国产精品福利片| 日本久久久久久久| 色偷偷av一区二区三区| 国产精品久久久久久五月尺| 日韩成人在线电影网| 久久久久久尹人网香蕉| 亚洲国产中文字幕久久网| 午夜美女久久久久爽久久| 日本国产高清不卡| 国产一区二区三区视频在线观看| 亚洲人午夜精品免费| 欧美精品videos另类日本| 一区二区欧美在线| 久久久精品电影| 久久久久久久久久婷婷| 日韩一区二区三区国产| 亚洲片国产一区一级在线观看| 亚洲国产欧美一区| 97在线视频免费播放| 亚洲精品一区二区三区婷婷月| 国产丝袜精品第一页| 精品亚洲国产视频| 日韩中文理论片| 91国偷自产一区二区三区的观看方式| 亚洲香蕉在线观看| 91午夜理伦私人影院| 九九久久久久久久久激情| 在线看国产精品| 97涩涩爰在线观看亚洲| 国产福利精品av综合导导航| 亚洲成人精品视频在线观看| 一色桃子一区二区| 国产成人精品优优av| 久久久精品影院| 亚洲女人被黑人巨大进入| 亚洲人成网在线播放| 欧美日韩国产中文字幕| 久久理论片午夜琪琪电影网| 美日韩精品视频免费看| 91精品国产色综合久久不卡98| www.久久久久久.com| 丁香五六月婷婷久久激情| 97碰碰碰免费色视频| 国产精品美女久久久久av超清| 久久久久久久久久久亚洲| 亚洲午夜精品久久久久久性色| 亚洲日韩中文字幕| 亚洲女人被黑人巨大进入| 久热在线中文字幕色999舞| 国产精品久久久91| 亚洲精品国产精品久久清纯直播| 日韩免费观看网站| 欧美在线观看一区二区三区| 欧美精品久久一区二区| 亚洲成av人片在线观看香蕉| 国产成人涩涩涩视频在线观看| 91久久精品国产91久久性色| 亚洲国产一区二区三区在线观看| 91成人在线观看国产| 成人黄色生活片| 97免费视频在线播放| 国内自拍欧美激情| 九九精品在线播放| 国产精品黄视频| 尤物99国产成人精品视频| 欧美国产第一页| 欧美激情亚洲激情| 亚洲精品久久久久久久久| 另类色图亚洲色图| 91在线精品视频| 欧美性生交大片免费| 久久久精品中文字幕| 在线观看精品国产视频| 亚洲第一天堂无码专区| 成人精品久久av网站| 亚洲成人国产精品| 国语自产精品视频在线看抢先版图片| 国产精品影院在线观看| 亚洲一区二区三区乱码aⅴ| 国产午夜精品视频免费不卡69堂| 欧美精品一区在线播放| 欧美成人精品一区二区| 久久久久久久久91| 琪琪亚洲精品午夜在线| 成人久久一区二区三区| 亚洲综合自拍一区| 欧美成人中文字幕| 亚洲一区二区三区在线免费观看| 97热精品视频官网| 国产亚洲欧洲高清一区| 青青久久aⅴ北条麻妃| 国产精品福利小视频| 亚洲色图第三页| 国产丝袜精品视频| 欧美在线一级va免费观看|