文章标题

来源:互联网 发布:dojo.js提示缺少对象 编辑:程序博客网 时间:2024/06/06 13:23

一:生趣的Activity
1. 当横竖屏切换时,Activity的生命周期会重新执行,先调用onpause方法,到重新创建
解决办法:在xml的activity节点下
配置configchanges属性:orientation|keyboardhidden|screensize
效果:当activity中这三个属性发生变化时,会调用Activity的 onconfigureChanged方法,而且在这个方法中,查看源码发现系统并没有对他做特殊处理,就不在走那些生命周期重新创建的方法
其他应用场景:游戏开发中常固定死屏幕可以设置
ScreenOrientation:portrait(纵向)|landscape(横向)

    2. 可以将Activity设置成dialog样式        解决办法:在activity节点下配置属性                      android:theme="@android.style/Theme.Dialog"3. 可以通过更改activity从下至上的样式    解决办法:在activity节点下配置属性:                android:theme="@android.style/Theme.inputMethod"4.如何记录已经打开的activity        解决办法:a.  写一个类继承application,在xml文件中的application替换成该类                         b. 在该类中生命一个全局的list集合,元素为Activity                         c. 在oncreate方法中调用list.add(this);                         d. 在ondestroy方法中调用遍历该集合,对象一致list.remove();5.activity的四种启动模式    a:starded        标准启动模式:后进先出,和入栈方式一致        b:singletop            通过判断栈顶是否和即将入栈的对象一致,如果一致,直接利用,反之,入栈    c:singletask        通过查询栈中是否存在即将入栈的实例对象,存在,将其直接作为栈顶,        其余的统统出栈        d:singleInstance               将该activity置于一个新的栈中,并保证不会有其他的activity进                   入,当进入该站在按返回键时,最终会在此回到该栈中,在退出           延伸问题:                当一个设置为“singletop”的activity被再次入栈时,                会引起该activity的onnewIntent方法回调 
0 0