Więc wiem, że zaleca się używać Parcelable zamiast Serializable w Androidzie, ponieważ jest szybszy.Android Parcelable i Serializable
Moje pytanie brzmi: czy niemożliwe jest uniknięcie prawa do seryjnej selekcji?
Jeśli mam niestandardowego obiektu Chcę serializacji, powiedzmy, że mam następującą definicję klasy
public class Person {
String name;
int Age;
...
....
}
Making to parcelable jest łatwe, ponieważ klasa Person zawiera typy parcel.write *() obsługuje , czyli jest parcel.writeString i parcel.writeInt
teraz co jeśli klasa Osoba jest następujący:
public class PersonTwo {
MyCustomObj customObj;
String name;
int Age;
...
....
}
Jak mam załóżmy na równi cel obiektu MyCustomObj? Wydaje się, że muszę ponownie użyć serializacji? ale znowu, myślałem, że jest WOLNY używać serializable, i wydaje się, że nie mamy wyboru, ale użyć go w tym przypadku.
Nie rozumiem
może ktoś mi powiedzieć jak bym Parcel PersonTwo w tym przypadku?
Proponuję użyć Serializable. Zgodnie z testami na Nexusie 5 jest znacznie szybszy niż Parceli. Zobacz https://bitbucket.org/afrishman/androidserializationtest. Najważniejszą rzeczą do zapamiętania jest to, że Serializable działa wolno tylko z ustawieniami domyślnymi. Jeśli używasz ręcznej serializacji, jest to znacznie, znacznie szybciej. Sprawdź powyższy link, aby uzyskać szczegółowe informacje. – nucleo