activity生命周期
来源:互联网 发布:faster rcnn 数据 编辑:程序博客网 时间:2024/06/05 21:17
马上要去面试了,心里有点怕怕,在家把基础知识复习一遍,今天说说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";@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Log.e(TAG,"onCreate------------>");}@Overrideprotected void onStart() {super.onStart();Log.e(TAG,"onStart------------>");}@Overrideprotected void onRestart() {super.onRestart();Log.e(TAG,"onRestart------------>");}@Overrideprotected void onResume() {super.onResume();Log.e(TAG,"onResume------------>");}@Overrideprotected void onPause() {super.onPause();Log.e(TAG,"onPause------------>");}@Overrideprotected void onStop() {super.onStop();Log.e(TAG,"onStop------------>");}@Overrideprotected 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方法都行
今天讲到此
- Activity 生命周期
- Activity生命周期
- Activity 生命周期
- Activity 生命周期
- Activity生命周期
- Activity生命周期
- Activity生命周期
- Activity生命周期
- Activity生命周期
- activity生命周期
- Activity 生命周期
- Activity生命周期
- Activity 生命周期
- activity生命周期
- Activity 生命周期
- Activity生命周期
- Activity生命周期
- Activity生命周期
- C#中的Dictionary字典类介绍
- 智能小区中嵌入式MP3流媒体网络广播系统设计
- IE6下iframe加载的页面的不显示,要刷新
- BZOJ 1833 ZJOI2010 count 数字计数 数位DP
- json和datatable互转
- activity生命周期
- 打印乘方表
- c 指针理解
- Xcode设置项之Architectures和Valid Architectures
- GDT与LDT
- Windows 10 国庆首发 联软首家完美兼容!
- 你的邮件为何被标记为垃圾邮件?
- 管理rman repository
- java 提高性能和效率