安卓核心组件一activity

安卓核心组件(一)Activity

  • 简介:activity 意思是活动,集成了一系列的view形成可视界面
  • 四种状态
    • Runing状态:位于前台,可以和用户交互,在内存中此时位于栈顶
    • paused状态:可见,但是没有焦点,不可以与用户交互
    • stopped状态:不可见,但是依然存在于内存中
    • killed状态:已经不存在内存中
  • 主要方法
    • oncreat
    • onstart
    • onrestar
    • onpaused
    • onresume
    • onstop
    • ondestroy
    • 所有方法从字面意思就很好理解,但是注意这个方法onresume,这个方法将一个调用过onstart或者onrestart的activity调整到能与用户交互的状态;onRestart在onstop后面执行
  • 生命周期
    • 当Activity被激活时:onCreate() -> onStart() -> onResume()
    • 当Activity被遮挡时:onPause() -> 显示其它界面 -> onStop()
    • 当被遮挡的Activity恢复显示时:onRestart() -> onStart() -> onResume()
    • 当Activity退出时:onPause() -> onStop() -> onDestroy();
  • 四种启动模式
    • a) Standard:默认配置,允许多个实例,允许叠加;
    • b) Singletop:多个实例,不允许叠加;
    • c) Singletask:一个实例,task中位于其上的全部destroy
    • d) Singleinstance:完全单例模式,内存中仅存在一个实例
  • 生命周期的测试可以通过重写activity的方法输出相应的日志来观察

`public class MainActivity extends Activity {

private String tag = "cn.myapp.activity_life";

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    // 输出日志,日志级别Verbose Debug Info Warn Error
    Log.i(tag, "MainActivity.onCreate()");
}

@Override
protected void onStart() {
    super.onStart();
    Log.i(tag, "MainActivity.onStart()");
}

@Override
protected void onRestart() {
    super.onRestart();
    Log.i(tag, "MainActivity.onRestart()");
}

@Override
protected void onResume() {
    super.onResume();
    Log.i(tag, "MainActivity.onResume()");
}

@Override
protected void onPause() {
    super.onPause();
    Log.i(tag, "MainActivity.onPause()");
}

@Override
protected void onStop() {
    super.onStop();
    Log.i(tag, "MainActivity.onStop()");
}

@Override
protected void onDestroy() {
    super.onDestroy();
    Log.i(tag, "MainActivity.onDestroy()");
}

}`

相应输出结果省略

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值