android 知识整理生命周期《一》

一.Activity的生命周期















Activity三个稳定状态:

Resumed:这个状态在onResumed()方法执行完毕,也就是Activity的running状态,用户可以与Activity进行交互

Paused:在这个状态,Activiy处于半透明的,其他的activity来到栈顶,如果其他Activity是透明的,或者不完全遮挡,这时就会只执行onPause()方法,进入该状态。Activity在该状态,用户不能与之交互。

Stopped:当Activiy被其他Acitivy完全遮挡,处于后台时,会进入该状态,在进入这个状态前,需要保存Activity的数据(避免因停留过久, 或内存不足,而被系统杀死导致丢失数据)。在该状态,acitivy不能执行任何代码。

onCreate()方法:Activity生命周期的第一个方法,用来建立一个Activiy所需要的基础操作,比如加载界面布局,声明UI元素,定制UI元素,配置UI数据。

onStart()方法:表示Activity正在被启动,这时Acitivy已经可见了,但还没处在前台,用来初始化Activity的数据。

onResume()方法:此时Activity已经可见,并且出现在前台并开始活动。主要用来做准备Activity资源的操作。

onPause()方法:表示Activity正在暂停,正常情况下,接下来onStop()要被调用。特殊情况,如果新的Activity是透明的,没有完全遮挡住旧Activity,则旧Activity只会执行onPause()方法,在该方法中,保存数据,停止动画,释放系统资源,做一些轻量级的工作。

onStop()方法:在新的的Activity启动之后,旧的Activity会停止再执行onStop()方法,用来保存耗时的数据操作(写数据到DB等),释放资源。

onDestroy()方法:表示Activity即将被销毁,Activity生命周期最后一个回调方法,用来做一些回收工作,防止内存溢出。当Activity在后台内存不够被系统杀死时,该方法不会回调。

二.对生命方法的理解:

Activity的生命周期中方法,创建成功,到销毁,方法成对出现的,也要成对使用。

onCreate()对应onDestroy()

onStrart()对应onStop()

onResume()对应onPause()

成对出现:

onCreate()和onDestroy()方法期间Activity的状态是一致的,是看不见界面的,处于黑屏状态,因此不能执行太过耗时的操作。

onStart()和onStop()方法期间Activity的状态是一致的,界面处于半透明的状态。

onResume()和onPause()方法期间Activity的状态一致,界面是可见的。

成对使用:

1.onPause()和onResume()

onPause()方法:

①停止会导致CPU的浪费。停止动画等。

②提交没有保存的改变,一般用来保存临时的或者不太耗时的操作。

③释放系统资源,如广播、sensors、或者是其他耗电的资源。

onResume()方法:

①初始化资源(开启动画等)

②注册广播、sensors等系统资源

2.onStart()和onStop()

onStop()方法:

①在onStop()方法中释放资源,从而避免内存泄露。清除所有Activity资源的操作。

②执行稍微耗时的保存数据的操作,如保存数据到数据库。

onStart()方法:

创建在onStop()方法中释放的资源。









  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android知识整理包括但不限于以下内容: 1. Android基础知识: - Android系统架构和组件:包括应用层、应用框架层、系统运行库层和Linux内核层。 - Android应用的生命周期:包括活动(Activity)、服务(Service)、广播接收器(Broadcast Receiver)和内容提供器(Content Provider)的生命周期。 - Android应用的资源管理:包括布局文件、字符串资源、图像资源等的使用和管理。 - Android应用的权限管理:包括权限的声明和请求。 2. Android界面开发: - 布局管理器:包括线性布局(LinearLayout)、相对布局(RelativeLayout)、帧布局(FrameLayout)等。 - 视图控件:包括文本视图(TextView)、按钮(Button)、图像视图(ImageView)等。 - 用户交互:包括点击事件、手势识别、触摸事件等的处理。 3. Android数据存储: - Shared Preferences:用于存储少量的键值对数据。 - SQLite数据库:用于存储结构化数据。 - 文件存储:包括内部存储和外部存储的文件存储方式。 4. Android网络编程: - 网络请求:使用HttpURLConnection或HttpClient进行网络请求。 - JSON解析:使用JSONObject或GSON库解析JSON数据。 - 图片加载:使用Picasso或Glide库加载网络图片。 5. Android多媒体开发: - 音频播放:使用MediaPlayer进行音频播放。 - 视频播放:使用VideoView或ExoPlayer进行视频播放。 - 相机和相册:使用Camera或Camera2 API进行拍照和录制视频。 6. Android传感器: - 加速度传感器、光传感器、陀螺仪等的使用。 7. Android地图和定位: - 使用Google Maps API进行地图显示和定位功能的开发。 以上仅为Android知识点的概要,实际开发中还涉及更多的内容。希望以上信息对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值