代码之家  ›  专栏  ›  技术社区  ›  Nouvel Travay

Android包裹与SQLite

  •  1
  • Nouvel Travay  · 技术社区  · 9 年前

    使用Parcelable或SQLite跨活动发送数据是否更便宜?我正在使用SQLite(通过Content Provider)来持久化我的数据。所以实际上我总是可以通过SQLite访问我的数据。但我不确定我是应该使用Parcelable跨Activity发送数据,还是应该每次都抓取数据。

    细节。比如我有一个村庄的对象。因此,自然村是相对大的:例如,它包含“人的列表”,而“人的名单”又可能包含“衣服的列表”。在每次活动暂停时,我都会将Village坚持到我的内容提供商那里。但有时我想将Village对象从一个活动发送到另一个活动。我有两个选择:我可以将dbId发送到下一个活动,然后查询URI(然后将光标转换为POJO),或者我可以发送一个Parcelable of Village。哪个更贵?

    说包裹更便宜(我还不知道)。现在,我正在努力让Parcelable工作。让Parcelable工作值得吗?

    1 回复  |  直到 9 年前
        1
  •  2
  •   Buddy    9 年前

    如果对象可能很大,则通过 ContentProvider 这是前进的道路。不仅可以避免编组/解编组时间&;代码,但 Parcelable s是 limited to 1MB .

    Binder事务缓冲区有一个有限的固定大小,当前为1Mb,由进程中所有正在进行的事务共享。