华为G9青春版Android6.0测试横竖屏切换

来源:互联网 发布:golang 事件总线 编辑:程序博客网 时间:2024/04/27 21:20

华为G9青春版Android6.0测试横竖屏切换

网上有人说横竖屏切换不仅跟手机android版本有关,还与targetSdkVersion有关,那么我们就来测试一下是否真的与这两个方面有关。

1、手机配置清单:


型号:HUAWEI VNS-AL00
Android版本:6.0

2、build.gradle配置:

minSdkVersion 19targetSdkVersion 25

3、测试:


MainActivity.java代码:

package com.example.yds.mylistviewtest;import android.app.Activity;import android.os.Bundle;import android.util.Log;public class MainActivity extends Activity {    @Override    protected void onStart() {        super.onStart();        Log.d("TAG","onStart");    }    @Override    protected void onRestart() {        super.onRestart();        Log.d("TAG","onRestart");    }    @Override    protected void onResume() {        super.onResume();        Log.d("TAG","onResume");    }    @Override    protected void onPause() {        super.onPause();        Log.d("TAG","onPause");    }    @Override    protected void onStop() {        super.onStop();        Log.d("TAG","onStop");    }    @Override    protected void onDestroy() {        super.onDestroy();        Log.d("TAG","onDestroy");    }    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        Log.d("TAG","onCreate");    }    @Override    protected void onSaveInstanceState(Bundle outState) {        super.onSaveInstanceState(outState);        Log.d("TAG","onSaveInstanceState");    }    @Override    protected void onRestoreInstanceState(Bundle savedInstanceState) {        super.onRestoreInstanceState(savedInstanceState);        Log.d("TAG","onRestoreInstanceState");    }}

1、不在AndroidManifest里设置android:configChanges,测得结果如下:
竖屏切换横屏:
这里写图片描述

可以看到,Activity的整个生命周期都过了一遍,那么从横屏切换竖屏呢:
这里写图片描述
可以看到结果是一样的,Activity的整个生命周期都过了一遍。

2、在AndroidManifest里设置android:configChanges=”orientation”,测得结果如下:
竖屏转横屏:
这里写图片描述
可以看到,Activity的整个生命周期都过了一遍。
横屏切换竖屏时,没有调动Activity的任何生命周期!!!

3、在AndroidManifest里设置
android:configChanges=”orientation|keyboardHidden”,测得结果如下:

竖屏转横屏:
这里写图片描述
可以看到,Activity的整个生命周期都过了一遍。
横屏切换竖屏时,没有调动Activity的任何生命周期!!!
3、在AndroidManifest里设置
android:configChanges= “orientation|keyboardHidden|screenSize”时,横竖屏切换
不会调动Activity的任何生命周期。

结论:在Android6.0版本,没有设置configChanges,横竖屏都只会切换一次,设置configChanges=“orientation”或者configChanges=“orientation|keyboardHidden”竖屏切换横屏,会调动Activity生命周期一次,而横屏切换竖屏则不会调用Activity生命周期。设置configChanges=“orientation|keyboardHidden|screenSize”则横竖屏切换时都不会调用Activity生命周期。

而后将targetSdkVersion 设置为19,最后得到的结果与上面一致,因为要复习其它的内容,所以本次测试就只测试这么些,以后或许会做个全面的测试。

原创粉丝点击