android Activity深层次研究

Activity 优先级:

        一般有有三种,1前台acitivty,优先级最高,2可见activity,优先级相对低点(浮现一般为弹窗口,activity处于可见但是不可操作的状态)3.后台activity,一般是执行了onpause 生命周期之后处于压栈,这样的状态最低
     而在内存不足的时候,会优先销毁状态低的activity,调用了ondestory方法,在调用之前一般正常情况是不会调用  onsavaInstanceState()来保存数据,而是会重新创建调用oncreate();

     在异常退出的时候调用onsavaInstanceState()保存数据,通过onRestoreInstanceState()来还原数据
     一般情况下横竖屏用到居多,解决重复创建的方法就是 android:configChanges="orientation|smallestScreenSize"

Activity 启动模式:
   

  activity启动模式有四种:

             standard:普通启动模式,每一次都会启动一个activity,不管是否存在
             singletop:相对于standard启动模式,多了一个步骤,如果当前启动的activity在栈顶的时候就直接使用,调用onNewIntent()->onstart()->onresume();,否则就创建

             singletast:先理解什么Tast,比如a.startactivity(a,b),那么b就在a的tast中,在singletast这种模式启动的activity,首先判断被启动的act是否在tast中,如果在就弹栈,销毁掉之上的activity,否则就去创建添加到tast中

             singleintance:这是一种单列模式,没一个activity都有自己独立的Tast,以前用到的好像就是启动地图首页

使用率相对高的activity

            设置启动模式:一般是在androidmanifest->activity->launchMode="" 或者在intent中addflags(Intent.flag_activity_new _tast); 第二种优先级高于第一种


        那么activity是如何启动的,下周分析



       

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值