一.什么时候调用:
设备配置发生变化的时候调用,比如:内外屏切换、屏幕方向(orientation)、键盘状态(keyboard)、语言环境(locale)、屏幕布局(screenlayout)等。
二.哪些类可以重写onConfigurationChanged方法:
Activity、View(ViewGroup)、Fragment、Service、Content Provider
三.案例分析:
1.Activity案例分析:
manifest不做任何配置时候,代码如下:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.d("20240324", "走了onCreate");
}
@Override
public void onConfigurationChanged(@NonNull Configuration newConfig) {
super.onConfigurationChanged(newConfig);
Log.d("20240324", "走了onConfigurationChanged");
}
}
这个时候旋转手机屏幕,会发现只会重新走一遍activity的创建过程,不会走onConfigurationChanged这个回调。
2024-03-24 14:16:26.463 27562-27562/? D/20240324: 走了onCreate
在man