生命周期

manifest.xml中
<activity
android:name="string"
android:icon="drawable resource"
android:label="string resource" //标签
android:theme="resource or theme" //主题
android:exported=["true"|"false"] //是否允许被其他应用调用
android:launchMode=["multiple"|"singleTop"|
"singleTask"|"singleInstance"]
android:screenOrientation=["unspecified"|"user"|"behind"|
"landscape"|"portrait"|
"sensor"|"nosensor"]
-
<intent-filter><action/><category/></intent-filter>
</activity>
启动与结束Activity
startActivity(Intent) | startActivityForResult(Intent,int RequestCode) |
finish() | finishActivity(int RequestCode) |
//MainActivity
intent.setClass(MainActivity.this,SecondActivity.class);
startActivityForResult(intent,0);
@Override
publicvoid onActivityResult(int requestCode,int resultCode,Intent intent)
{
if(requestCode ==0&& resultCode ==0)
{
Bundle data = intent.getExtras();
}
}
//SecondActivity
getIntent().putExtra("city","beijing");
SecondActivity.this.setResult(0, intent);。
SecondActivity.this.finish();
四种加载模式
- standard: 标准模式,一调用startActivity()方法就会产生一个新的实例。
- singleTop: 如果已经有一个实例位于Activity栈的顶部时,就不产生新的实例,而只是调用Activity中的newInstance()方法。如果不位于栈顶,会产生一个新的实例。
- singleInstance: 同一task栈只能有一个此activity实例,要启动该Activity时,(若该Activity不在栈顶)会把该Activity上面所有的Activity移出task栈
- singleTask: 会在一个新的task栈中产生这个实例,以后每次调用都会使用这个,不会去产生新的实例了。