黑马程序员技术交流社区

标题: 泄密:黑马Android内部压轴技术面连载现世(一) [打印本页]

作者: Android_Robot    时间: 2016-6-13 17:14
标题: 泄密:黑马Android内部压轴技术面连载现世(一)
泄密:黑马Android内部压轴技术面连载现世(一)

涨薪机密——潮流新技术、新框架资源以后不定期更新,  


   第一篇先来点开胃小菜,更猛烈的等着你哦
1. 什么是Activity?
四大组件之一,一般的,一个用户交互界面对应一个activity
        setContentView() ,// 要显示的布局
        button.setOnclickLinstener{
        },
       activity 是Context的子类,同时实现了window.callback和keyevent.callback, 可以处理与窗体用户交互的事件。

       我开发常用的的有FragmentActivitiy,ListActivity  , PreferenceActivity ,TabAcitivty等…
       如果界面有共同的特点或者功能的时候,还会自己定义一个BaseActivity。

2. 请描述一下Activity 生命周期。
       生命周期描述的是一个类 从创建(new出来)到死亡(垃圾回收)的过程中会执行的方法。在这个过程中 会针对不同的生命阶段会调用不同的方法。
       Activity从创建到销毁有多种状态,从一种状态到另一种状态时会激发相应的回调方法,这些回调方法包括:oncreate ondestroy onstop onstart onresume onpause。
       其实这些方法都是两两对应的,onCreate创建与onDestroy销毁;
      onStart可见与onStop不可见;onResume可编辑(即焦点)与onPause。

       这6个方法是相对应的,那么就只剩下一个onRestart方法了,这个方法在什么时候调用呢?
      答案就是:在Activity被onStop后,但是没有被onDestroy,在再次启动此Activity时就调用onRestart(而不再调用onCreate)方法;如果被onDestroy了,则是调用onCreate方法。

      最后讲自己项目中的经验,比如说手机卫士每次进入某个界面的时候都要看到最新的数据,这个刷新列表的操作 就放在onStart()的方法里面.这样保证每次用户看到的数据都是最新的。
      多媒体播放, 播放来电话. onStop() 视频, 视频声音设置为0 , 记录视频播放的位置 mediaplayer.pause();
       onStart() 根据保存的状态恢复现场.mediaplayer.start();
      在读文档的时候 还发现 activity还有两个方法onPostResume() 和 OnPostCreate()这两个生命周期的方法,不过开发的时候没有用到过。

3. 两个Activity之间跳转时必然会执行的是哪几个方法。
       一般情况比如说有两个activity,分别叫A,B,当在A里面激活B组件的时候, A 会调用 onPause()方法,然后B 调用onCreate() ,onStart(), OnResume() ,这个时候B覆盖了窗体, A会调用onStop()方法。 如果B呢是个透明的,或者是对话框的样式, 就不会调用onStop()方法。

4. 横竖屏切换时候Activity的生命周期。      
       这个生命周期跟清单文件里的配置有关系
       1、不设置Activity的android:configChanges时,切屏会重新调用各个生命周期。默认首先销毁当前activity,然后重新加载。
       2、设置Activityandroid:configChanges="orientation|keyboardHidden|screenSize"时,切屏不会重新调用各个生命周期,只会执行onConfigurationChanged方法。
       游戏开发中, 屏幕的朝向都是写死的,横竖屏切换的时候,如果有弹窗会被销毁。


其他精华资源推荐:

【强荐!】2016年最新Android学习路线图——按此路线图学习月薪过万{ 火速收入}
[持续更新]2016最新Android视频教程+源码+技巧/经验+软件+面试
Android是选择自学还是选择培训?
打造最新Android学习目标,成就年薪20W,不是黑马的空头承诺!



作者: 我是你岁哥❤环    时间: 2016-6-13 18:54
极速围观中
作者: why910107    时间: 2016-6-13 19:11
围观  围观  围观
作者: jianhua0798    时间: 2016-6-13 19:28
围观 围观 围观
作者: wuzlhi    时间: 2016-6-13 19:31
围观了,Android的也可以学习学习啊,哈哈,分分钟的事情嘛
作者: 新晋猿工    时间: 2016-6-13 19:46
围观 围观 围观
作者: haizi004    时间: 2016-6-13 19:48
这么牛!配图666
作者: shenzhinishimen    时间: 2016-6-13 20:11
不错,说的挺详细,学会了
作者: wby127889561    时间: 2016-6-13 20:30
加油加油各位
作者: ylw787442926    时间: 2016-6-13 22:13
小伙伴们 快来围观,我擦 我的小伙伴们呢@@@@@
作者: 马庆伟    时间: 2016-6-13 23:15
标题: java
嗯。              
作者: 黑猫的消失    时间: 2016-6-13 23:41
支持,都是总结的精华

作者: 毅往志乾    时间: 2016-6-13 23:45
我是来顶贴的,顺便签个到
作者: lonely    时间: 2016-6-13 23:55
离学到这里还好远啊
作者: 308437189    时间: 2016-6-14 07:49
我是来顶贴的,顺便签个到
作者: cuisq    时间: 2016-6-14 07:51
这个到第几个月开始学的
作者: songbing    时间: 2016-6-14 15:01
equals 和==的区别:==可以比较引用数据类型,也可以比较基础数据类型;equals只能比较引用数据类型,重写方法
作者: songbing    时间: 2016-6-14 15:04
告诉大家,匿名内部类有面试题,记得去看哦
作者: songbing    时间: 2016-6-14 15:09
hope si a good thing                               《肖申克的救赎》
作者: jannnonx    时间: 2016-6-16 17:47
好东东,收藏!!!
作者: 星空@3    时间: 2016-6-16 20:04
学习了,加油自己
作者: kkdwss    时间: 2016-6-16 23:22
不错不错,我也来围观,围观,围观!
作者: 曾乐祥    时间: 2016-6-17 11:02
666,围观学习
作者: Sbbbbbbbbbb    时间: 2016-6-17 13:14
围观,围观
作者: m18581215520    时间: 2016-6-17 20:40
围观挣币中。。。
作者: lyzhuhaoliang    时间: 2016-6-17 20:44
加油 加油 加油  好好学习 天天向上
作者: Sugar_Gu    时间: 2016-6-17 21:02
收藏了,以备不时之需!谢谢楼主
作者: ab159263487    时间: 2016-6-17 22:08
6666.学习了,,,
作者: YC1992    时间: 2016-6-17 22:53
通俗易懂,升入浅出,足见作者道行的高深.
作者: Noodles.    时间: 2016-6-17 23:38
很厉害!!!
作者: 忆未末    时间: 2016-6-18 00:35
赞一个!!
作者: chengongzong    时间: 2016-6-18 18:51
非常好  收藏了
作者: liqi9006    时间: 2016-6-18 22:32
赞!获益匪浅,值得收藏啦
作者: 痴爱一生    时间: 2016-6-18 23:33
围观  中  
作者: lsp0523    时间: 2016-6-19 00:06
总是有一些巨人借着他们的肩膀我们前行
作者: 偶尔等了    时间: 2016-6-19 13:29
牛b哄哄的黑马资料  有它在手工作我有
作者: lt3886930    时间: 2016-6-19 16:59
围观围观,发现新任务一枚.
作者: wwe812    时间: 2016-6-19 18:56
强势围观
作者: 黑夜的灬黑    时间: 2016-6-19 21:34
围观围观
作者: 阳光中的雨    时间: 2016-6-19 22:59
有道理,学到了很多实用的知识,赞一个
作者: 一个很瘦的胖子    时间: 2016-6-19 23:52
这么狠?!!!!!顶顶 顶!!!!!
作者: Mature    时间: 2016-6-20 08:56
围观   学习学习  安卓

作者: 失控的柠檬    时间: 2016-6-20 21:45
围观中!!
作者: 痴爱一生    时间: 2016-6-20 22:04
6666666顶一个
作者: 深呼吸丨    时间: 2016-6-20 22:46
可以的可以的
作者: 忆未末    时间: 2016-6-20 23:23
围观中!!!!!!
作者: 火影木叶    时间: 2016-6-21 00:07
好深奥 完全看不懂  
作者: 爱逗猫的鱼    时间: 2016-6-21 07:13
一脸懵逼,加紧学习
作者: James_01    时间: 2016-6-21 07:30
多专研是成为大牛的途径
作者: 2016ly    时间: 2016-6-22 23:08
谢谢分享!
作者: yuanzhils    时间: 2016-6-26 16:26
继续盖楼,无限膜拜
作者: 袁志娜    时间: 2016-11-12 21:59

作者: boom_pm2.5    时间: 2016-11-14 00:06
看起来安卓很强势啊.
作者: wxm278187618    时间: 2016-11-15 01:36
感谢楼主分享
作者: yuzt    时间: 2016-11-19 22:31
围观,围观!!!
作者: 飞天神猫    时间: 2016-11-23 17:05
我是来顶贴的,顺便签个到
作者: 369    时间: 2016-11-27 12:34
吃瓜群众
作者: 1985206835long    时间: 2016-12-1 23:23
顶一个 嘻嘻
作者: 201314    时间: 2016-12-2 15:52
好好学习,天天向上。
作者: JSK-CSY    时间: 2016-12-4 23:55
太难了,得用心去分析
作者: 1985206835long    时间: 2016-12-9 00:02
我是来顶贴的,顺便签个到




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2