Activity生命周期详解
2023-04-12
原理图:

文字描述如下:
Activity的作用:
起显示作用,他是用来和用户交互的。也是一个view的容器
1 完整的生命周期:
onCreate() --> onStart() --> onResume() activiyt已经正常显示
点击回退键
onPause() --> onStop() --> onDetroy()
2 可视的生命周期
onCreate() --> onStart() --> onResume() activiyt已经正常显示
打开一个activity。该activity完全覆盖上一个activity
onPause() ---> onStop()
点击回退键
onRestart() --> onStart() ---> onResume()
点击回退键
onPause() --> onStop() --> onDetroy()
3 android:theme="@android:style/Theme.Dialog"
------------如果要将完全覆盖-----(转换成)------>>部分覆盖,只需要在清单文件AndroidManifest.xml中在
就可以把activity变成对话框的效果
onCreate() --> onStart() --> onResume() activiyt已经正常显示
打开一个activity。该activity没有完全覆盖上一个activity
onPause()
点击回退键
onResume()
代码如下:
1)main.xml
2)main2.xml
android:layout_gravity="center" //控件居中
android:gravity="center" //控件中的文本居中
3)MainActivity
package com.njupt.activitylife;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
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()");
}
public void get(View v){
Intent intent = new Intent(this,Main2Activity.class);
startActivity(intent);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
4)Main2Activity
package com.njupt.activitylife;
import android.app.Activity;
import android.os.Bundle;
public class Main2Activity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main2);
}
}
5)AndroidManifest.xml
最后在清单文件中将Main2Activity注册上去
本文仅代表作者观点,版权归原创者所有,如需转载请在文中注明来源及作者名字。
免责声明:本文系转载编辑文章,仅作分享之用。如分享内容、图片侵犯到您的版权或非授权发布,请及时与我们联系进行审核处理或删除,您可以发送材料至邮箱:service@tojoy.com



