Android Parcelable 与 SQLite

标签 android sqlite android-intent parcelable

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

细节。假设我有一个 Village 对象。因此,Village 自然是比较大的:例如,它包含人物列表,而列表又可能包含衣服列表。在每个 Activity 的 onPause 中,我将 Village 保存到我的内容提供者。但有时我想将一个 Village 对象从一个 Activity 发送到另一个。我有两个选择:我可以将 dbId 发送到下一个 Activity ,然后查询 URI(然后将游标转换为 POJO),或者我可以发送一个 Village 的 Parcelable。哪个更贵?

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

最佳答案

如果您的对象可以很大,那么通过 ContentProvider 访问是可行的方法。您不仅可以避免编码/解码时间和代码,而且 Parcelablelimited to 1MB .

The Binder transaction buffer has a limited fixed size, currently 1Mb, which is shared by all transactions in progress for the process.

关于Android Parcelable 与 SQLite,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34957919/

相关文章:

android - SQLite数据库文件以SQL格式上传到服务器

java - 如何通过查询方法(SQLiteDatabase.query)使用此查询?

java - Android 选择文件 Intent

Android 错误 :Failed to find: com. android.support :design:21. 0.3

android - 同时运行多个 AsyncTask —— 不可能吗?

java - AlarmManager 与具有长定时器的处理程序/定时器

java - 数据库管理中的问题 - sqlite with Java (IDE : NetBeans)

java - 使用 Intents 进行 View 切换后信息不会保存(android)

php - 使用 php 接收 android POST 数据

android - 如何避免在Android中依赖的无知?