最新面试需要复习一下Android基础。
{所谓Activity}
通俗点:app上看到的窗口基本都是Activity
Android 程序一般是由多个Activity组成,用户看到的能够交互的窗口通常是Activity,多个Activity交互形成一个应用程序。从luncher上启动程序通常进入"Mian" Activity(在AndroidManifest.xml配置intent-filter),用户为了执行不同的动作而启动另外一个Activity,每一次一个Activity启动,前一个Activity就停止了,但是ActivityManager保存Activity在一个栈中。新的Activity启动,它将推到栈顶,用户按back按钮它被弹出栈,栈顶的Activity将恢复。
当一个Activity因新的Activity启动而停止,新旧的Activity将被通知各种状态转变的通知具体可以在Activity的生命周期回调函数体现,如create,stop,resume,destory等,开发者可以根据这些回调函数添加适当的逻辑代码。
{Activity生死}
搬个google的activity周期。
1. Activity从onCreate()生到onDestory()死.
2. Activity 从onStart() ---> onStop() 在屏幕上可见。
3. Activity 从onResume() ---> onPause() 处于前台,可与用户交互
程序打开:
{Activity各周期适合做什么事情}
1. onCreate()
一个Activity实例生成只会执行一次,所以可以在onCreate里面初始化一些相对不太会变化的变量。比如获取控件实例一般都是直接在onCreate中 findViewById
2. onStart()
不大常用,一般broadcastrecevier 中 会用到 registerBroadcast
3. onStop()
与onStart()一对,也不常用,在有receiver时一般使用它unregister
4. onResume()
很常用,一些程序变量需要在onResume中重新获取最新的数据进行刷新操作
5. onPause()
不常使用
6. onDestory()
常用。 清空activity的一些数据,如Cursor的关闭,一些task的结束,及其他占资源需手动停的代码在这个方法里面有机会停止。