1

オブジェクトのリストをシリアル化/逆シリアル化するために、Android で simpleXml を使用しています。以前は、リストを含むクラスが関連付けられた 30 個の異なるオブジェクトがありました。重複コードを減らすために、次の@ElementListUnionような注釈が付けられたリストを持つクラスのみを使用することにしました。

@ElementListUnion({
    @ElementList(entry = "A", inline = true, type = A.class, required=false),
    @ElementList(entry = "B", inline = true, type = B.class, required=false),
    @ElementList(entry = "C", inline = true, type = C.class, required=false)
    })
private List<Object> serializableList;

要素リストが大きくなると、Android での逆シリアル化のパフォーマンスが低下することに気付きました。別の注釈でそれを行う別の形式が存在しますか、それともプログラムの古い実装に戻る必要がありますか?

注: リストのすべての要素は同じ型でserializableListList<A>List<B>またはList<C>.

ありがとう

4

1 に答える 1

0

次のように、クラス (リストを含む) に注釈を付けることができます。

@Root
public class Example
{
    @ElementList
    private List<Object> serializableList;

    // ...
}

およびクラス (AなどB):

@Default
public class A
{
    // ...
}

(または:@Root必要な各要素を含むクラス@Element、、、@ElementList...)

このようにして、必要なものすべてをリストに入れることができます。

于 2013-02-18T17:44:51.830 に答える