0

我正在使用parceler,我正在尝试定义一个像这样的结构:

Category 1..* Product 1..* Images

每个实体都有一个列表和一个父实例,就像这样

@Parcel
public class Category {
    List<Product> products;
    ...
}

@Parcel
public class Product {
    List<Image> images;
    Category parent;
    ...
}

@Parcel
public class Image {
    Product parent;
    ...
}

我想知道当我这样做时性能如何受到影响:

Category c = getSampleCategory(); // With products and images
Parcels.wrap(c);

并在活动之间传递一个类别对象作为额外的。我注意到 ANR,我问自己这是否是原因之一

提前致谢

4

1 回答 1

0

Parceler 使用注释处理,进而生成代码来将数据编组到Bundle/ Intent/ Parcel。这意味着Parcels.wrap/Parcels.unwrap调用应该非常高效。我鼓励您围绕代码的各个部分(包括wrap/unwrap调用)运行自己的性能基准测试(使用计时器记录围绕您的调用),以确保事情花费了合理的时间。如果您确实发现 Parceler 没有达到预期(是您的 ANR 的来源),请在 Github 上的 Parceler 问题列表中提出问题。

于 2016-07-15T16:22:45.960 回答