首页 > 代码库 > 我的android 面试之路(三:各种状态)

我的android 面试之路(三:各种状态)

每天都有各种状态  各种扯淡 

    哇哈哈哈哈哈哈 昨天夜里刚刚写好 笔记本没电了 就差一分钟就发出去了 哇哈哈哈 以下是昨天- -

    一觉起来 错过了一个创业公司的笔试 - -(有的同学去了 现场发offer 北京3000一个月 正式工作 哈哈 我就不吐槽了 感觉这么玩不能友好的生活呀)

    评论有人说我说的扯淡 而且扯的不好 好吧 我只好继续扯了

    还有人说我木有写感受 这个吧 我也不知道怎么说感受- -(原谅我感受低)

    还有人说我写流水账 这个。。。好吧

    说到各种状态 最近这个状态可真是不爽啊 今天下午也是接到了电话面试 只问了几个简单的android问题(确实非常基础的) 然后问能不能继续来北京面谈 (校招太多做不到啊)哎 还是北京的机会多啊 

    咳咳 还是说到状态这个事情 想起activity生命周期这个问题了 这个问题也是最最经常问的 面试官会非常开心的问你

    比如你打开一个activity 这时来了一个电话 那这个activity都经历了哪些生命周期?或者是按back键的时候呢?或者是按Home键的时候呢?

    自信的~

    “首先这个activity的生命周期 有以下几个”

    “onCreate() onStart() onResume() onPause() onRestart() onStop() onDestroy()”

    

    上图是google给的图(图片直接剽窃自别人的博客)

    “首先说一下一个正常的activity 从打开到按返回键退出经历的生命周期”

    “onCreate() ---> onStart() ---> onResume() --->onPause() --->onStop() ---> onDestroy()”

    "创建activity时首先会回调onCreate()(一次)---> 启动activity时会回调onStart()(可见不可交互)--->恢复activity时回调onResume() (onStart()之后一定会回调)---> 暂停时回调onPause() ---> 停止时回调onStop() ---> 销毁时调用onDestroy() (back键 或者系统资源不足kill掉低优先级别的活动)"

    "然后说一下activity 从打开到按Home键再切换回来经历的生命周期"

    “onCreate() ---> onStart() ---> onResume() ---> onPause() ---> onStop()---> onRestart() ---> onStart()--->onResume() ”

    "电话打进来经历的生命周期"

    “onCreate() ---> onStart() ---> onResume() ---> onPause() ---> onStop()”

    回答完这些问题 说一下我平时是怎么使用activity生命周期的

    我在onCreate() 里面加载资源 比如listView=(ListView)findViewById(R.id.listview);(不做耗时任务)

    onResume() 与 onPause() 两个方法中 执行一些对称的操作

    比如暂停时保存一些用户数据 恢复时读取出来 恢复时创建资源 暂停时释放一些资源

    还有onStart() 不要在方法内执行很耗时的操作 这个特别重要 因为这个时期是可见不可交互的 时间越长 体验越差

    还有activity没有被销毁的时候 重新启动时会回调onRestart() 

    还有一些情况 比如 使用户activity不可见时 经历onPause() ---> onStop() 电话打(新启动一个其他activity)进来就是这样的情况 遮挡住了当前的activity

    AlertDialog这个要特别说明一下  这个是不影响activity的生命周期的 

    还有一些想说的 电脑木有电了(好几年前的dell 电池坏掉了 23点熄灯 20分钟左右就没电了 还剩3分钟)

    昨天就写到上面这里 - -电脑状态各种次

    另外有两个博客是介绍activity生命周期的 比我写的详细推荐给大家

    http://www.cnblogs.com/zyw-205520/p/3313268.html 

    http://www.cnblogs.com/mengdd/archive/2012/12/01/2797784.html   

    早上起来去霸面 吼吼

    

    

    

    

我的android 面试之路(三:各种状态)