sun博客

记录点滴!

1,activity生命周期

app打开时,依次执行onCreate->onStart->OnResume

onCreate 创建时被调用,是activity执行的第一个事件。 我们在创建Activity的时候一般都会重写此方法,并在该方法中执行一些初始化操作。

onStart 表示activity已经启动,但还未在前台,所以还不能和用户交互。

onResume 表示activity 已经在前台,可以和用户交互。

按屏幕的回到桌面按键或者切换到运行中所有任务时

依次分别执行: onPause->onStop

再次回到这个app时

依次执行:onStart->onResume

onRestart();

该方法在Activity重新被启动的时候执行,这时候Activity会从不可见变为可见状态,比较常见的情况是当前Activity 上面打开了一个新的Activity 然后关闭新的Activity 回到原来Activity的时候,便会重新启动Activity执行这个方法。

onPause();

这个方法表示Activity已经失去了与用户交互的能力,表示正在停止,一般来说在onPause()执行之后会立刻回调onstop()方法。但是也有例外,这里举一个栗子,比如,Activity 去启动一个完全透明的Activity时,此时执行了onPause(),但是不会去执行onStart();该方法中一般不要执行比较耗时的操作。因为新的Activity的onResume()方法会在启动它的Activity 的OnPause()执行完成之后才会去执行。

onStop();

这个方法在Activity完全不可见的时候调用。它和onPause()方法的主要区别在于,如果启动的新Activity是一个对话框式的activity,那么,onPause()方法会得到执行,而onStop()方法并不会执行。

所以从activityA跳转到activityB时,要执行的生命周期为:

A onCreate->A onStart->A onResume->A onPause->B onCreate->B onStart->B onResume-> A onStop

横竖屏切换时:

onPause()>onStop()>onDestroy()>onCreate()>onStart()>onResume();

具体可查看此链接:

https://blog.csdn.net/double2hao/article/details/52922663

有关onSaveInstanceState(Bundle outState)和onRestoreInstanceState(Bundle savedInstanceState)的信息,请查看这篇文章:

https://www.jianshu.com/p/f703c1086024?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

activity四种启动方式:

https://yebd1h.smartapps.cn/pages/blog/index?_swebFromHost=baiduboxapp&blogId=80587083&_swebfr=1

intent详细说明:

https://blog.csdn.net/rainbowcode/article/details/119390187

service详细说明:

https://www.jianshu.com/p/6bf03e3cb097

broadCast详细说明:

https://www.jb51.net/article/210309.htm

contentProvider详解:

http://www.360doc.com/content/17/0522/19/3373961_656240867.shtml

发表评论

邮箱地址不会被公开。 必填项已用*标注