標籤:
設定Activity的android:configChanges時,切屏會重新調用各個生命週期
本人實際測試發現設定
android:configChanges="keyboardHidden|orientation"或不設定
橫豎屏切換時也會執行onCreate各一次,並且不會執行onConfigurationChanged
設定
android:configChanges="orientation|screenSize"
不會執行onCreate,會執行onConfigurationChanged。
測試代碼:
public class MainActivity extends Activity { TextView lbl; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); lbl = (TextView)findViewById(R.id.label); Log.d("123", "onCreate"); } @Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); if(newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE){ lbl.setText("橫屏"); } else{ lbl.setText("豎屏"); } }}
<activity android:name=".MainActivity" android:label="@string/app_name" android:configChanges="orientation|screenSize"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter></activity>
android:configChanges屬性