Android - Activity
生命周期

manifest.xml中
<activityandroid: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) |
//MainActivityintent.setClass(MainActivity.this,SecondActivity.class);startActivityForResult(intent,0);@Overridepublicvoid onActivityResult(int requestCode,int resultCode,Intent intent){if(requestCode ==0&& resultCode ==0){Bundle data = intent.getExtras();}}
//SecondActivitygetIntent().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栈中产生这个实例,以后每次调用都会使用这个,不会去产生新的实例了。

浙公网安备 33010602011771号