HaveFerrair 于 2015.07.27 22:01 提问
- Android service与Activity的新手问题
-
一个音乐播放器,要在service里面进行音乐播放,有MediaPlayer,Handler,List,
Runnable几个对象,想从Activity里面传进去,用什么办法可以啊??实现Parcelable接口行吗?
-
- CSDNXIAOD 2015.07.27 22:12
Android service向activity发送信息
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!
-
- qq_30137133 2015.07.27 22:20
传这么多消息干嘛,感觉传个音乐路径以及状态值就可以了
-
- Ji_xu_qiang 2015.07.28 09:26
bindService(),对于activity与service在同一进程的,可直接通过Binder控制,进行数据传输等操作,比如binder.get()\binder.set()等一些自定义操作;对于不同进程的就得用IPC机制,AIDL自定义接口实现,可能要用到parcelable类。
startService(),activity与service没什么联系,可以直接通过Intent.putBundle(Bundle bundle)传过去,如果bundle里面数据包含自定义类,该类就得继承parcelable或Serializable类。
两个类的区别:
1)在使用内存的时候,Parcelable比Serializable性能高,所以推荐使用Parcelable。
2)Serializable在序列化的时候会产生大量的临时变量,从而引起频繁的GC。
3)Parcelable不能使用在要将数据存储在磁盘上的情况,因为Parcelable不能很好的保证数据的持续性在外界有变化的情况下。尽管Serializable效率低点,但此时还是建议使用Serializable 。
-
- Arnold9009 2015.07.28 09:42
用intent+bundle就行
-
- zuishikonghuan 2015.07.28 09:54
只传送音乐文件路径即可,intent里就可 intent.setData
- 其他相关推荐