Vì vậy, tôi biết nó được khuyến khích sử dụng Parcelable thay vì Serializable trong android, bởi vì nó là nhanh hơn.Android Parcelable và Serializable
Câu hỏi của tôi là: không thể tránh sử dụng Serializable phải không?
Nếu tôi có một đối tượng tùy chỉnh tôi muốn serialize, chúng ta hãy nói rằng tôi có định nghĩa lớp sau
public class Person {
String name;
int Age;
...
....
}
Làm parcelable này rất dễ dàng, bởi vì lớp người chứa các loại parcel.write *() hỗ trợ , tức là có parcel.writeString và parcel.writeInt
Bây giờ, những gì nếu lớp Person như sau:
public class PersonTwo {
MyCustomObj customObj;
String name;
int Age;
...
....
}
Làm sao tôi giả sử mệnh cel đối tượng MyCustomObj ?? Có vẻ như tôi cần sử dụng serializable lần nữa? nhưng một lần nữa, tôi nghĩ rằng nó là SLOW để sử dụng serializable, và có vẻ như chúng tôi không có sự lựa chọn, nhưng để sử dụng nó trong trường hợp này.
Tôi không hiểu
ai đó có thể cho tôi biết cách tôi chuyển bưu kiện PersonTwo trong trường hợp này?
Tôi khuyên bạn nên sử dụng Serializable. Theo các bài kiểm tra trên Nexus 5, nó nhanh hơn nhiều so với Parcelable. Xem https://bitbucket.org/afrishman/androidserializationtest. Điều chính cần nhớ là Serializable chỉ chậm với các thiết lập mặc định. Nếu bạn sử dụng serialization thủ công, nó sẽ nhanh hơn rất nhiều. Kiểm tra liên kết ở trên để biết chi tiết. – nucleo