今天遇到一个问题:
在一个ActivityA中bindService()然后将Service的对象保存了下来,再传递给另一个ActivityB,可是当在B中通过Service对象调用方法时,总是像又新建了一个对象一样,琢磨了很久不得要领,后来想到是不是哪个对象从A->B时不是同一个,打印出后果然ID不一样,可就是不得要领,照理Service只有一个对象,那它的this该是同一个,而我将它实现了Serialable后便于传递,都是同一个Service对象,为什么前后两次不是同一个ID???琢磨不出,是因为序列化的问题么?而后出现的奇怪问题就是,不同的Service对象ID导致调用它方法时里面的对象都是不同的,不能直接修改对象状态而却像又新建了一个对象.真无语。
最后只能土鳖的将那对象作为A的静态变量,在B当中直接通过A调用。以后遇到高手问问原因。。。