Android Activity生命周期
来源:互联网 发布:淘宝知识侵权 编辑:程序博客网 时间:2024/06/06 08:52
Activity官方文档
使用到的Activity
public abstract class BaseActivity extends Activity { //protected String TAG = getTag(); abstract String getTag(); @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.d(getTag(), "onCreate() called with: savedInstanceState = [" + savedInstanceState + "]," + " isFinishing:" + isFinishing()); } @Override protected void onStart() { super.onStart(); Log.d(getTag(), "onStart() called," + " isFinishing:" + isFinishing()); } @Override protected void onRestart() { super.onRestart(); Log.d(getTag(), "onRestart() called," + " isFinishing:" + isFinishing()); } @Override protected void onResume() { super.onResume(); Log.d(getTag(), "onResume() called," + " isFinishing:" + isFinishing()); } @Override protected void onPause() { super.onPause(); Log.d(getTag(), "onPause() called," + " isFinishing:" + isFinishing()); } @Override protected void onStop() { super.onStop(); Log.d(getTag(), "onStop() called," + " isFinishing:" + isFinishing()); } @Override protected void onDestroy() { super.onDestroy(); Log.d(getTag(), "onDestroy() called," + " isFinishing:" + isFinishing()); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); Log.d(getTag(), "onActivityResult() called with: requestCode = [" + requestCode + "], resultCode = [" + resultCode + "], data = [" + data + "]"); }}
public class Activity0 extends BaseActivity { protected String TAG = "Activity0"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_test_finish); //finish(); } @Override protected void onStart() { super.onStart(); //finish(); } @Override String getTag() { return TAG; } public void onClick(View view) { int id = view.getId(); switch (id) { case R.id.button: //finish(); Intent intent = new Intent(Intent.ACTION_SEND); intent.setType("video/*"); intent.putExtra(Intent.EXTRA_STREAM, Uri.parse("content://media/external/video/media/63")); startActivity(intent); break; case R.id.button1: startActivityForResult(new Intent(this, Activity1.class), 200); break; } }}
public class Activity1 extends BaseActivity { protected String TAG = "Activity1"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_test_finish2); } @Override String getTag() { return TAG; } public void onClick(View view) { setResult(RESULT_OK); }}
Activity的一些典型生命周期,有些并不会执行中间一些回调.
正常启动,点击按钮finishActivity0: onRestart() calledActivity0: onStart() calledActivity0: onResume() called, isFinishing:false===>Button.onClick => finishActivity0: onPause() called, isFinishing:trueActivity0: onStop() called, isFinishing:trueActivity0: onDestroy() called, isFinishing:true
正常启动,点击BACKActivity0: onCreate() called with: savedInstanceState = [null]Activity0: onStart() calledActivity0: onResume() called, isFinishing:false===>press BACKActivity0: onPause() called, isFinishing:trueActivity0: onStop() called, isFinishing:trueActivity0: onDestroy() called, isFinishing:true
启动新Activity,setResult并finishActivity0: onCreate() called with: savedInstanceState = [null]Activity0: onStart() calledActivity0: onResume() called, isFinishing:falseActivity0: onPause() called, isFinishing:false===>startActivityForResultActivity1: onCreate() called with: savedInstanceState = [null]Activity1: onStart() calledActivity1: onResume() called, isFinishing:falseActivity0: onStop() called, isFinishing:false===>setResultActivity1: onPause() called, isFinishing:trueActivity0: onActivityResult() called with: requestCode = [200], resultCode = [-1], data = [null]Activity0: onRestart() calledActivity0: onStart() calledActivity0: onResume() called, isFinishing:falseActivity1: onStop() called, isFinishing:trueActivity1: onDestroy() called, isFinishing:true
在onCreate里finishActivity0: onCreate() called with: savedInstanceState = [null], isFinishing:falseActivity0: onDestroy() called, isFinishing:true
在onStart里finishActivity0: onCreate() called with: savedInstanceState = [null], isFinishing:falseActivity0: onStart() called, isFinishing:falseActivity0: onStop() called, isFinishing:trueActivity0: onDestroy() called, isFinishing:true
启动透明背景的Activity,例如android:theme="@android:style/Theme.Material.Light.Dialog.NoActionBar"Activity0: onCreate() called with: savedInstanceState = [null], isFinishing:falseActivity0: onStart() called, isFinishing:falseActivity0: onResume() called, isFinishing:false===>start transparent ActivityActivity0: onPause() called, isFinishing:falseActivity1: onCreate() called with: savedInstanceState = [null], isFinishing:falseActivity1: onStart() called, isFinishing:falseActivity1: onResume() called, isFinishing:false===>setResultActivity1: onPause() called, isFinishing:trueActivity1: onStop() called, isFinishing:trueActivity1: onDestroy() called, isFinishing:trueActivity0: onActivityResult() called with: requestCode = [200], resultCode = [0], data = [null]Activity0: onResume() called, isFinishing:false
使用ACTION_SEND启动Activity,只会走到onPauseIntent intent = new Intent(Intent.ACTION_SEND);intent.setType("video/*");intent.putExtra(Intent.EXTRA_STREAM, Uri.parse("content://media/external/video/media/63"));startActivity(intent);Activity0: onCreate() called with: savedInstanceState = [null], isFinishing:falseActivity0: onStart() called, isFinishing:falseActivity0: onResume() called, isFinishing:false===>启动Activity,并不会执行onStopActivity0: onPause() called, isFinishing:false===>退出Share的ActivityActivity0: onResume() called, isFinishing:false
横竖屏切换Activity0: onCreate() called with: savedInstanceState = [null], isFinishing:falseActivity0: onStart() called, isFinishing:falseActivity0: onResume() called, isFinishing:false==>横屏Activity0: onPause() called, isFinishing:falseActivity0: onStop() called, isFinishing:falseActivity0: onDestroy() called, isFinishing:falseActivity0: onCreate() called with: savedInstanceState = [Bundle[{android:viewHierarchyState=Bundle[{android:views={16908290=android.view.AbsSavedState$1@5c9ef82, 2131558525=android.view.AbsSavedState$1@5c9ef82, 2131558526=android.view.AbsSavedState$1@5c9ef82}, android:ActionBar={16909295=android.widget.Toolbar$SavedState@e80c693}, android:Panels={0=com.android.internal.policy.PhoneWindow$PanelFeatureState$SavedState@20786d0, 8=com.android.internal.policy.PhoneWindow$PanelFeatureState$SavedState@d27f6c9}}]}]], isFinishing:falseActivity0: onStart() called, isFinishing:falseActivity0: onResume() called, isFinishing:false
阅读全文
0 0
- 【Android】【Activity生命周期】Activity生命周期
- Android activity的生命周期
- Android Activity 生命周期
- Android:Activity的生命周期
- Android 之 Activity 生命周期
- Android Activity生命周期
- android之activity生命周期
- Android Activity生命周期总结
- Android 之 Activity 生命周期
- Android Activity的生命周期
- Android Activity的生命周期
- android中的activity生命周期
- Android---Activity生命周期状态
- Android中Activity生命周期
- Android Activity的生命周期
- Android activity的生命周期
- Android---Activity生命周期状态
- Android---Activity生命周期状态
- Go实现Session
- 如何利用缺陷的管理提高软件开发质量二
- c++ 11 map基础value排序
- 使用Shell获取上一个月、星期的时…
- java面试题目
- Android Activity生命周期
- Dora-RPC 端午升级 PHP微服务开发…
- C++ 读取二进制文件,并且保…
- opengl绘制完成后转储BMP文件
- error:14090086:SSL routines…
- Dora-RPC 详细设计分析 前言
- lucene Field引起的误会
- PHP数据导出数据不全问题的梗
- Linux tar命令