Так что я знаю, что рекомендуется использовать Parcelable вместо Serializable в android, потому что это быстрее.Android Parcelable и Serializable
Мой вопрос: невозможно ли избежать использования права Serializable?
Если у меня есть пользовательский объект я хочу сериализации, скажем, у меня есть следующее определение класса
public class Person {
String name;
int Age;
...
....
}
Создание этого parcelable легко, потому что класс Person содержит типы parcel.write *() поддерживает , т.е. есть parcel.writeString и parcel.writeInt
Теперь, что если класс Person является следующее:
public class PersonTwo {
MyCustomObj customObj;
String name;
int Age;
...
....
}
Как я полагаю, пар cel объект MyCustomObj? Кажется, мне нужно снова использовать serializable? но опять же, я думал, что SLOW использует сериализуемое, и, похоже, у нас нет выбора, кроме как использовать его в этом случае.
Я не понимаю
может кто-нибудь сказать мне, как я бы разбазаривать PersonTwo в этом случае?
Я предлагаю вам использовать Serializable. Согласно испытаниям на Nexus 5, это намного быстрее, чем Parcelable. См. Https://bitbucket.org/afrishman/androidserializationtest. Главное, чтобы помнить, что Serializable медленнее только с настройками по умолчанию. Если вы используете ручную сериализацию, это намного быстрее. Подробнее см. Ссылку выше. – nucleo