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);

アクティビティ間のエキストラとして Category オブジェクトを渡します。ANR に気付き、これが原因の 1 つであるかどうかを自問する

前もって感謝します

4

1 に答える 1

0

Parceler は注釈処理を使用し、次に生成されたコードを使用して、Bundle/ Intent/との間でデータをマーシャリングしますParcel。これは、Parcels.wrap/Parcels.unwrap呼び出しが非常に効率的であることを意味します。wrap/unwrap呼び出しを含め、コードのさまざまな部分で独自のパフォーマンス ベンチマークを実行することをお勧めします (タイマー ログで呼び出しを囲みます) 。Parceler が期待を満たしていない (ANR のソースである) ことがわかった場合は、Github の Parceler の問題リストに問題を報告してください。

于 2016-07-15T16:22:45.960 に答える