每天进步一点点,,

干android开发半年了,除了最开始收获挺大,后面感觉就是搬别人的东西。买了本android开发艺术探索,希望能对我有所帮助。每天抽时间看一点点,记录自己的成长

1 .  正常的activity生命周期:

activity切换到主界面或者别的activity的时候   回调是 onpause-->onstop。当新的activity为透明主题时,当前activity不会onstop.再回到原activity的时候 onrestart--->onstart-->onresume.按back键返回时,onpause-->onstop-->ondestory。当activityA向activityB跳转时,A先pause,B  的onresume完成后A再stop

 

2.   异常的activity的生命周期

  2.1  当activity 因为配置异常终止,比如横竖屏切换的时候,activity会调用onsavadInstanceStates这个回调,把activity和view的数据存储下来,当activity重新启用的时候再通过oncreat(bundle savadInstanceStates)从bundle中获取保存的数据

  2.2activity内存不足时按activity的优先级kill activity,activity的优先级,前台activity(我们可以跟用户交互的activity),可见但非前台的activity(比如弹出一个dialog,activity可见,但没办法与用户交互)最后是后台activity。

  2.3.当activity因配置异常终止时,可以通过在menifest中对activity设置configchanges属性来阻止activity重启

3  .activity的四种启动方式:standard模式 ,singletop模式,singletask模式,singleInstance模式。

      系统默认的是standard模式,每建一个activity就新建一个实例,表现为当我们返回时,activity是一个一个关的,singletop是栈顶的activity再次被调用时,不会新建一个实例,singletask是栈内复用,跟singletop差不多,只是范围是整个栈,singleInstance模式是加强的singletask,会对activity新建一个单独的栈。

     PS........singletask的时候如果activityC后面还有activity。当activityC被置于栈顶的时候。C后面的activity都会被T出栈。   启动方式在XML中是launchmode   在代码中是intent.addflags7

4.  activity的隐式启动。

    在XML中对activity设置intentfilter.并对其设置action、data或者category。当一个intent.setaction与intentfilter匹配时。activity被启动

posted @ 2016-03-31 20:41  强者之路  阅读(160)  评论(0编辑  收藏  举报