}
- onStart(), 表示Activity正在被启动,此时的Activity已经可以显示了,但是无法还不能出现在前台,所以我们看不到。示例代码如下:
@Override
protected void onStart{
super.onStart();
}
- onRestart(), 表示Activity正从停止状态重新启动,如果当前Activity状态从不可见到可见,则会被调用。示例代码如下:
@Override
protected void onResume(){
super.onResume();
}
- onResume(), 页面即将可见,在此之后Activity出现在前台并开始活动。此方法在Activity获得焦点开始与用户交互时调用。示例代码如下:
@Override
protected void onResume(){
super.onResume();
}
- onPause(), 表示Activity正在停止,一般在当前Activity被其他Activity覆盖或者锁屏时调用,示例代码如下:
@Override
protected void onPause(){
super.onPause();
}
- onStop(), 表示Activity即将停止,Activity对用户不可见时调用,示例代码如下:
@Override
protected void onStop(){
super.onStop();
}
- onDestory(), 表示Activity即将销毁,是Activity生命周期最后一个回调,在此时可以做些会手工作和最后的资源释放,示例代码如下:
@Override
protected void onDestory(){
super.onDestory();
}
根据以上的生命周期方法,完成对应的工作,就能将Activity完整的显示出来,得到我们想要的结果。
Activity切换时候生命周期的变化
- 当Activity A 切换到Activity B 时:
-
执行A的onPause();
-
执行B的onCreate() → onStart() → onResume()方法;
-
如果B是不透明的,则A将被完全隐藏,此时A完全不可见,执行A的onStop()方法;
- 在B中按下返回键回到A时:
-
执行B的onPause();
-
执行A的onRestart() → onStart() → onResume() 方法;
-
执行B的onStop() → onDestory()方法;
启动Activity须注意:
- 当启动Activity时有一个限制:必须在AndroidManifest.xml中显示声明使用的Activity,否则则会出现以下报错:
android.content.ActivityNotFoundException: Unable to find explicit activity class {com.cy59.intercept_activity.app/com.cy59.intercept_activity.app.TargetActivity}; have you declared this activity in your AndroidManifest.xml?
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!**
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!