33
Co jest bardziej poprawne? To:Zadzwoń do super.onSaveInstanceState (bundle) na początku lub na końcu?
@Override protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putLong(ID, mId);
}
lub to:
@Override protected void onSaveInstanceState(Bundle outState) {
outState.putLong(ID, mId);
super.onSaveInstanceState(outState);
}
Obaj praca dla mnie na moim urządzeniu Gingerbread oraz Froyo i lody emulatorów Sandwich, i widziałem, jak o wielu przykładów mówiąc jeden sposób, jak inny. Czy to ma znaczenie?
Po debugowaniu kodu Android mogę to potwierdzić. Wygląda na to, że Android nie próbuje zapisać 'Bundle outState', dopóki nie zostanie wywołana twoja metoda' onSaveInstanceState() '. Dlatego nie ma znaczenia, gdzie w swojej metodzie nazywacie 'super.onSaveInstanceState (outState)', o ile klucze się nie kolidują. Możesz nawet nazwać to w środku swojej metody, jeśli chcesz! – snark