java - 序列化对象会发生什么?如何在整个序列化过程中保持观察者?

标签 java android serialization

我在一个 Activity 中执行以下操作:

    intent.putExtra("searchRegion", searchRegion);
    Log.d("AAA", "Puttin searchRegion: " + searchRegion.toString());

和接收 Activity :

    SearchRegion searchRegion = (SearchRegion) getIntent().getSerializableExtra("searchRegion");
    Log.d("AAA", "rcv searchreg " + searchRegion.toString());

结果是:

Puttin searchRegion: mypackage.SearchRegion@3b41ba0
rcv searchreg mypackage.SearchRegion@22655d14

当我想知道序列化后我的 SearchRegion 对象的 Observer 去了哪里时,我意识到了这一点。

我有两个问题:

  1. 通过 Intent 序列化我的对象时到底发生了什么?接收端的对象和发送端的对象不一样吧?
  2. 我可以在使用 Intent 的整个序列化过程中保留对象的 Observer 吗?

最佳答案

What exactly happens when serializing my object through the Intent?

这些对象持有的数据,加上关于对象类的元数据,被写入一个流,然后从该流中重构。

The object on the receiving end is not the same as the object on the sending end, right?

正确。

Can I keep the Observers of an object throughout serialization with Intent?

没有。

关于java - 序列化对象会发生什么?如何在整个序列化过程中保持观察者?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24630639/

相关文章:

java - 如何重构这个有多个 if/else 语句的方法

java - 字符串的 HashSet 和仅检索每个元素的第一个单词

Android:当键盘消失时,EditText 上的错误弹出窗口不会向下移动

android - Android中的ViewSwitcher和布局高度

java - 如何在 Java 中创建命令行(控制台)

java - neo4j "empty"数据库占用大量磁盘空间

android - 在android中绘制折线图

python - 将类实例序列化为 JSON

javascript - 序列化或反序列化期间出错。 JSON JavaScript序列化器

c# - 在 RavenDB 中存储具有 Func<T, TResult> 成员的类