zoukankan      html  css  js  c++  java
  • activity生命周期

    立即要去面试了,心里有点怕怕,在家把基础知识复习一遍,今天说说activity生命周期,事实上 面试也没什么人讲,也不愿意写,但还是硬着头皮写下来,新建一个android项目:activitylife,依次把生命周期方法打印分析下就哦了

    package com.example.activitylife;
    import android.app.Activity;
    import android.os.Bundle;
    import android.util.Log;
    public class MainActivity extends Activity {
    	private static final String TAG = "MainActivity";
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_main);
    		Log.e(TAG,"onCreate------------>");
    	}
    
    	@Override
    	protected void onStart() {
    		super.onStart();
    		Log.e(TAG,"onStart------------>");
    	}
    
    	@Override
    	protected void onRestart() {
    		super.onRestart();
    		Log.e(TAG,"onRestart------------>");
    	}
    
    	@Override
    	protected void onResume() {
    		super.onResume();
    		Log.e(TAG,"onResume------------>");
    	}
    
    	@Override
    	protected void onPause() {
    		super.onPause();
    		Log.e(TAG,"onPause------------>");
    	}
    
    	@Override
    	protected void onStop() {
    		super.onStop();
    		Log.e(TAG,"onStop------------>");
    	}
    
    	@Override
    	protected void onDestroy() {
    		super.onDestroy();
    		Log.e(TAG,"onDestroy------------>");
    	}
    }
    

    当项目执行的时候 log:


    onStart():可见但没焦点

    onResume():可见有焦点就意味着用户能够在屏幕上操作

    这个时候假设屏幕被盖住了 log信息:



    onPause()和onresume()方法是相对的,它是界面没有焦点了,

    onStop()屏幕不可见,

    可是这时候activity并没有消失,而是在任务栈中,这个时候我们把电话挂了,long信息:


    我们看到这个时候并没有运行onCreate()方法。而是运行了onRestart(),onStart(),onResume(),

    这个时候按后退键log信息:


    仅仅有调用了onDestory()方法,activity才会消失。

    那么在实际开发中怎样使用呢?

    举例说明

    1):记得在做项目中有一个用户剩余金额界面,由于一进来就要显示用户的剩余金额,还提供了支付宝充值功能,当用户充值成功后返回到此界面,这个剩余金额肯定是要变的,假设获取用户剩余金额的接口在onCreate()中调用,那么在充值成功后返回时,不是最新的,因此刚開始获取用户的剩余金额不能放在onCreate()方法中,就须要放在onResume()中进行,当支付宝充值成功后返回也会运行onResume()方法,这就是一个样例

    2):比方当前有一个音乐播放,这个时候来了一个电话,当电话挂了以后,要从上次播放的位置进行播放,那么就要记录音乐播放到哪里,那么就要保留一个position这个时候再那保存比較好了,假设activity生命周期看懂了,就懂了,在onPause或者onStop方法都行

    今天讲到此

  • 相关阅读:
    困难的图论
    [Poi2011]Meteors
    四维偏序
    bzoj2738矩阵乘法
    创建线程的三种方式
    java邮件发送
    Nginx配置文件分析
    如何理解java反射?
    正则表达式
    jenkins新手入门教程
  • 原文地址:https://www.cnblogs.com/claireyuancy/p/7230518.html
Copyright © 2011-2022 走看看