Android横竖屏切换到生命周期

首先,我们新建一个安卓项目在MainActivity类中实现Activity生命周期的几个方法以及各个方法的作用与调用时机:

    //创建的方法
   @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
       System.out.println("onCreate");
    }


//销毁的方法
    protected void onDestroy() {
        System.out.println("onDestroy");

        super.onDestroy();
    }

//在onCreate方法被调用之后调用的  acticity界面可以用的时候调用的方法  继续播放视频
    @Override
    protected void onStart() {
        System.out.println("onStart");

        super.onStart();
    }

//activity用户不在使用的时候调用。一般的情况下暂停视频播放
    @Override
    protected void onStop() {

        System.out.println("onStop");

        super.onStop();
    }

//继续  获取焦点
    @Override
    protected void onResume() {
        System.out.println("onResume");

        super.onResume();
    }

//暂停 失去焦点
    @Override
    protected void onPause() {
        System.out.println("onPause");

        super.onPause();
    }

接着,我们运行程序,待页面出现之后,旋转手机让手机横屏。我们时候我们查看控制台的打印信息。


打印信息

根据Activity的生命周期和以上打印信息我们可以推断,在屏幕旋转之后,页面是把之前的销毁掉,而后重新创建了页面,这显然不是我们想要的效果,那么该如何解决呢?其实在manifest文件中做一下配置就能解决了。
方法一:做法是把横竖屏写死 朝向固定

        
            
                
                
            
        

方法二:设置MainActivity不受某些操作影响,不会销毁重新创建

        
            
                
                
            
        

再次运行并旋转手机等操作,发现Activity并不会出现销毁创建销毁创建的情况。

你可能感兴趣的:(Android横竖屏切换到生命周期)