0

アクティビティからサービスにデータを渡すために、レルムでパーセラーを使用しています。レルムとパーセラーの制限はほとんどありません

制限

Parceler を使用する際に注意すべき重要な制限がいくつかあります。

  1. モデルに RealmList が含まれている場合は、特別なアダプターを登録する必要があります。

  2. オブジェクトがパーセル化されると、Realm から切り離され、この時点でデータのスナップショットを含む管理されていないオブジェクトのように動作します。このオブジェクトへのそれ以上の変更は、Realm に永続化されません。

ルール 1 については、特別なアダプターを登録しましたが、ルール 2 については、どの時点でレルムが切り離されたのか疑問があります。

クラスに注釈を付けるときですか、つまり使用していますか

@Parcel(value = org.parceler.Parcel.Serialization.BEAN, analyze = { VisitInfo.class }) 

または開梱時、ラッピング時

  RequestInfo requestInfo = Parcels.unwrap(intent.getParcelableExtra("visitData"));
4

1 に答える 1

0

Parcels.wrap()そもそも呼び出すとアンマネージドコピーになります。

Realm はデフォルトで、オブジェクトの主キーをインテントで送信し、他のアクティビティで再クエリすることを想定しています。

于 2016-11-21T09:01:15.087 に答える