A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

泄密:黑马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方法。
       游戏开发中, 屏幕的朝向都是写死的,横竖屏切换的时候,如果有弹窗会被销毁。


其他精华资源推荐:

Android是选择自学还是选择培训?


61 个回复

正序浏览
我是来顶贴的,顺便签个到
回复 举报
太难了,得用心去分析
回复 举报
好好学习,天天向上。
回复 举报
顶一个 嘻嘻
回复 举报
369 中级黑马 2016-11-27 12:34:48
57#
吃瓜群众
回复 举报
我是来顶贴的,顺便签个到
回复 举报
yuzt 中级黑马 2016-11-19 22:31:19
55#
围观,围观!!!
回复 举报
感谢楼主分享
回复 举报
看起来安卓很强势啊.
回复 举报
回复 举报
继续盖楼,无限膜拜
回复 举报
谢谢分享!
回复 举报
多专研是成为大牛的途径
回复 举报
爱逗猫的鱼 来自手机 初级黑马 2016-6-21 07:13:01
48#
一脸懵逼,加紧学习
回复 举报
好深奥 完全看不懂  
回复 举报
忆未末 来自手机 中级黑马 2016-6-20 23:23:39
46#
围观中!!!!!!
回复 举报
可以的可以的
回复 举报
6666666顶一个
回复 举报
围观中!!
回复 举报
围观   学习学习  安卓
回复 举报
1234下一页
您需要登录后才可以回帖 登录 | 加入黑马