Activity基础知识及相关面试题

Activity基础知识及相关面试题


1:Activity的四种状态

    ①:running:activity处于活动状态,用户可以点击、滑动,activity做出响应。(处于栈顶的状态)

    ②:paused:activity失去焦点,或者activity被一个非全屏的activity覆盖,或者被一个透明的activity占据、覆盖。

这时候activity只是失去了与用户交互的能力,但是成员变量和状态信息都还在,并没有销毁(如果内存紧张的  话,就会被回收)。

    ③:stopped:activity被另外一个activity完全覆盖掉的时候,activity不可见了。被覆盖的activity会处于stopped的状态。 跟paused状态一样,这个时候activity的成员变量跟状态信息都还在,如果内存紧张的话,会被回收掉。

    ④:killed:activity被系统回收掉了,成员变量跟状态信息肯定都不复存在了。

2:Activity的生命周期

   activity启动:-->oncreate():activity创建的时候做的回调,被调用的第一个方法。可以设置布局文件、图片的预加载等。

                        -->onstart():表示activity正在启动,用户可见的状态,但是无法触摸。

                        -->onresume():activity可见了,用户可以点击、触摸、滑动等操作。

    点击HOME键回到手机桌面的时候:

                        -->onpause():activity是可见的,但是不可触摸。

                        -->onstop():activity不可见,不可以操作,如果手机内存紧张会被系统回收。

     再次回到activity的时候:

                        -->onrestart():activity重启的时候做的回调。

                        -->onstart():表示activity正在启动,用户可见的状态,但是无法触摸。

                        -->onresume():activity可见了,用户可以点击、触摸、滑动等操作。

    退出当前activity的时候:

                        -->onpause():activity是可见的,但是不可触摸。

                        -->onstop():activity不可见,不可以操作,如果手机内存紧张会被系统回收。

                        -->ondestory()activity正在被回收,我们可以在这里做一些回收工作,或者一些资源的释放工作。

  3:Android中的进程优先级。

                        前台/ 可见/ 服务/ 后台/ 空

                        前台:与用户交互的进程。

                        可见:可见但是没有处于前台,并没有展示在用户面前的进程。

                        服务:save服务。。

                        后台:当我们按下HOME键的时候,前台进程也就变成了后台进程,当然如果手机内存紧张,后台会被回收。

                        空进程:不属于以上四种进程的进程。空进程表示没有活跃的组件,只是为了缓存作用保留的进程。

  4:Android任务栈

                        先进后出的原则。

                        任务栈保存了activity的状态,也保存了activity的信息。

                        任务栈不是唯一的。()

  5:activity的启动模式                   

                        ①:standard:默认标准模式。每次启动一个activity都会又一次创建一个新的实例放入栈,无论这个实例是否 存在。

                       ②:singletop:分两种处理情况:须要创建的Activity已经处于栈顶时,此时会直接复用栈顶的activity。不会   再创建新的activity;若需要创建Activity不处于栈顶,此时会又一次创建一个新的Activity放 入栈。同Standard模式一样

                       ③:singletask:若须要创建的Activity已经处于栈中时,此时不会创建新的Activity,而是将栈中的Activity上面的其他Activity所有销毁,使它成为栈顶。

                        ④:singleinstance:全局单例模式。整个系统当中有且只有一个activity实例,那么这个activity独享一个栈。 这个经常使用于系统中的应用,比如Launch、锁屏键的应用等等,整个系统中仅仅有一   个!所以在我们的应用中一般不会用到。了解就可以。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值