哇哈哈哈哈哈哈 昨天夜里刚刚写好 笔记本没电了 就差一分钟就发出去了 哇哈哈哈 以下是昨天- -
一觉起来 错过了一个创业公司的笔试 - -(有的同学去了 现场发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
早上起来去霸面 吼吼