平常使用切换Activity来达到转换界面的效果。
今天看到有用SetContentView来切换同一个Activity的layout的办法来切换界面。
请问这两种方法有什么区别和联系?是那一种方法的效率高么?还是说哪一种方法用起来方便快捷?
最后什么情况下该用哪种方法?

解决方案 »

  1.   

    1. 一个是针对不同的Activity,一个是针对同一个Activity的不同Layout。
    2. 它们的生命周期是不同的。
    3. 如果用setContentView,完成从Layout1到Layout2切换很容易,但是要切换回原来的Layout1就比较啰嗦了,代码结构相当不好。
    4. 用setContentView很难进行Layout之间的多次切换。
      

  2.   

    建议绝大部分情况下,使用Activity之间的切换。
      

  3.   

    前者是不同的activity,后者是同一个activity。
    因为android关闭程序的最小单位是activity,前者从A ACTIVITY跳转到B后,A有可能会给系统KILL掉,所以前者通常需要在onPause里保存数据,在onCreate里恢复数据
    我个人是习惯一个程序就一个activity,方便数据管理
      

  4.   

    我觉得看你的项目需要,有些效果在同一个activity中切换画面比较好实现,未必setContentView就很难控制,架构的好友时候还是不错的选择