温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Android学习之浅谈Activity

发布时间:2020-07-15 17:26:54 来源:网络 阅读:521 作者:44793888 栏目:移动开发

    经过一段时间的学习,对Android有了一定的了解,在这里对浅解一下Activity。

    Activity活动是用来与用户交互的界面,是Android组件中最基本最常见的四大组件之一,它是提供一个屏幕为了让用户跟Android之间交互完成某项任务的组件,它通过setContentView来显示指定控件。

    Activity的四种启动模式:

    1.standard:默认标准的。每次启动一个Activity都会创建该activity的实例对象放进栈中。

    2.singleTop:如果要启动的activity实例对象位于栈顶,就会直接复用当前实例。如果不在栈顶,会创建实例对象。

    3.singleTask:如果要启动的activity实例位于栈顶,就直接复用。如果位于栈中,那么在其上的所有实例对象都会依次出栈,直到当前实例位于栈顶。

    4.singleInstance:如果activity使用了这种模式,相当于该activity的实例对象重新开辟了一个栈存放该实例对象。并且这个实例对象位于栈顶。所在的栈称之为共享栈。 例子:浏览器模式。

    Activity的生命周期

    onCreate:显示页面其实显示的是Activity的实例,这时候需要系统调用onCreate方法创建一个Activity的实例。

    onStart:启动当前要显示的activity的实例。

    onResume:只要这个方法执行,当前activity就显示在用户面前与用户进行交互。

    onPause:当这个方法执行的时候,页面就与用户失去焦点,不能进行交互。

    onStop:当这个方法执行的时候,页面就完全不可见。

    onDestroy:当这个方法执行的时候,当前的activity实例就被销毁。

    onRestart:页面从后台重新启动的时候执行的方法。

    这些方法都不需要用户进行调用,而是系统自动进行调用的。


package cn.com.farsight.activitycycle;


import android.os.Bundle;

import android.app.Activity;

import android.util.Log;

import android.view.Menu;


public class MainActivity extends Activity {

//Activity创建时被调用

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);


Log.i("TAG", "onCreate");

}

//Activity创建或者从后台从新回到前台时被调用

@Override

protected void onStart() {

Log.i("TAG", "onStart");

super.onStart();

}

//Activity从后台重新回到前台时被调用

@Override

protected void onRestart() {


Log.i("TAG", "onRestart");

super.onRestart();

}

//Activity创建后者从被覆盖、后台从新回到前台时被调用

@Override

protected void onResume() {

Log.i("TAG", "onResume");

super.onResume();

}

//Activity被覆盖时被调用(暂停)

@Override

protected void onPause() {

Log.i("TAG", "onPause");

super.onPause();

}

//退出当前Activity或者跳转到新的Activity时被调用(停止时);

@Override

protected void onStop() {

Log.i("TAG", "onStop");

super.onStop();

}

//退出当前Activity时被调用,调用之后Activity就销毁了

@Override

protected void onDestroy() {

Log.i("TAG", "onDestroy");

super.onDestroy();

}

}

Android学习之浅谈Activity


    


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI