热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Activity的onRestart()方法调用时机

在项目中看到Activity使用onRestart(),平时对这个方法的调用时机知道的比较少,研究一下它啥时候会被调用。代码很简单:<spanstyle"font-size:18p

在项目中看到Activity使用onRestart(),平时对这个方法的调用时机知道的比较少,研究一下它啥时候会被调用。

代码很简单:

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btn = (Button) findViewById(R.id.btn);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, MainActivity1.class);
startActivity(intent);
}
});
Log.e(MainActivity.class.getSimpleName(), "onCreate()");
}

@Override
protected void onRestart() {
super.onRestart();
Log.e(MainActivity.class.getSimpleName(), "onRestart()");
}

@Override
protected void onStart() {
super.onStart();
Log.e(MainActivity.class.getSimpleName(), "onStart()");
}

@Override
protected void onResume() {
super.onResume();
Log.e(MainActivity.class.getSimpleName(), "onResume()");
}

@Override
protected void onPause() {
super.onPause();
Log.e(MainActivity.class.getSimpleName(), "onPause()");
}

@Override
protected void onStop() {
super.onStop();
Log.e(MainActivity.class.getSimpleName(), "onStop()");
}

@Override
protected void onDestroy() {
super.onDestroy();
Log.e(MainActivity.class.getSimpleName(), "onDestroy()");
}
}


(1)启动这个demo执行如1;onCreate()--->onStart()--->onResume()这三个方法

(2)按下home键执行如2;onPause()--->onStop()这两个方法

(3)再次打开这个demo执行如3;onRestart()--->onStart()--->onResume()三个方法。




(4)点击界面的btn,跳转到另一个Activity1,会执行如下图1;onPause()--->onStop()两个方法

(5)从Activity1返回,会执行如下图2;onRestart()--->onStart()--->onResume()三个方法




(6)切换到其他的应用,执行如下图1;onPause()--->onStop()两个方法

(7)从其他应用切换回来,执行如下图2;onRestart()--->onStart()--->onResume()三个方法




总结:可以看到以下几种情况下onRestart()方法是会被调用的,测试的手机MI 2S,系统版本4.1.1。

(1)按下home键之后,然后切换回来,会调用onRestart()。

(2)从本Activity跳转到另一个Activity之后,按back键返回原来Activity,会调用onRestart();

(3)从本Activity切换到其他的应用,然后再从其他应用切换回来,会调用onRestart();



想知道更详细的Activity生命周期,还可以参考一下文章:

http://blog.csdn.net/liuhe688/article/details/6733407

http://blog.csdn.net/android_tutor/article/details/5772285


推荐阅读
author-avatar
小思绪
创造人生的可能
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有