activety生命周期与开车的瞎想!一张图弄懂Activety
Author:[email protected] Date:
面试官问:Activety的生命周期是什么?
脑海底两万里深处有印象
于是,弱弱地回答,有印象……
然后回顾下……
Activity其实是继承了ApplicationContext这个类,我们可以重写以下方法,如下代码:
view plaincopy to clipboardprint? public class Activity extends ApplicationContext { protected void onCreate(Bundle savedInstanceState); protected void onStart(); protected void onRestart(); protected void onResume(); protected void onPause(); protected void onStop(); protected void onDestroy(); }
为了便于大家更好的理解,我简单的写了一个Demo,不明白Activity周期的朋友们,可以亲手实践一下,大家按照我的步骤来。
第一步:新建一个Android工程,我这里命名为ActivityDemo.
第二步:修改ActivityDemo.java(我这里重新写了以上的七种方法,主要用Log打印),代码如下:
package com.tutor.activitydemo; import android.app.Activity; import android.os.Bundle; import android.util.Log; public class ActivityDemo extends Activity { private static final String TAG = "ActivityDemo"; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Log.e(TAG, "start onCreate~~~"); } @Override protected void onStart() { super.onStart(); Log.e(TAG, "start onStart~~~"); } @Override protected void onRestart() { super.onRestart(); Log.e(TAG, "start onRestart~~~"); } @Override protected void onResume() { super.onResume(); Log.e(TAG, "start onResume~~~"); } @Override protected void onPause() { super.onPause(); Log.e(TAG, "start onPause~~~"); } @Override protected void onStop() { super.onStop(); Log.e(TAG, "start onStop~~~"); } @Override protected void onDestroy() { super.onDestroy(); Log.e(TAG, "start onDestroy~~~"); } }
第三步:运行上述工程,效果图如下(没什么特别的):
核心在Logcat视窗里,如果你还不会用Logcat你可以看一下我的这篇文章 Log图文详解(Log.v,Log.d,Log.i,Log.w,Log.e),我们打开应用时先后执行了onCreate()->onStart()->onResume三个方法,看一下LogCat视窗如下:
想想开车:首先要有车时把:onCreate(比如按下home键,去看快播……
开车首先插上钥匙,点火……start……
然后挂档,平稳加速……onResume
如果前面 路面有100块钱……或者看到苍老师,停下来观望下:
停车,然后踩刹车……onPause()->onStop()
然后再次启动
onRestart->onStart-onResume
一不小心,到家了……(比如按下home键……
减速 停车 Pause ,拔出钥匙 Stop ,走人,……onDestory
onPause()->onStop()->onDestory()
但是,这个比方还是不太好……
等我下次再想个好的哈……
参考文章:http://kb.cnblogs.com/page/70125/
转载本站文章《activety生命周期与开车的瞎想!一张图弄懂Activety》,
请注明出处:https://www.zhoulujun.cn/html/OS/Android/AndroidDevelop/2016_0418_7774.html