2011-08-19 63 views
2

我有一个多活动应用程序,进步用户输入IP /主机地址,输入一些数据(另一个活动),查看视频帧流(又一个活动)。我通过创建一个单例来在活动之间共享Socket。这被认为是不适合用于无法序列化的对象的模式吗?在Android应用程序活动之间使用单例?

我已经看了整个早上通过这些帖子和其他人通过网络和最好的,我可以想出是没有真正简单的方法,但这对我来说似乎很容易。我认为唯一的其他方法是优点是自定义应用程序对象。

任何与单身人士一起工作的人的洞察力我真的很想听到任何问题,我可能没有意识到这可能会让我以后...感谢!

回答

3

你的方法的缺点是你不能依靠单身人士的数据结构总是保持在内存中。你最好的选择是坚持SharedPreferences或SQLite数据库中的信息。

这听起来像你的单身人士可能是一个Service的好候选人。服务适用于没有任何UI的长时间运行操作。多个活动可以绑定到服务并与之交互。与单身人士不同,如果/当你的服务被杀死,你会得到生命周期的钩子来适当地处理它。您也可以将其设置为在适当时重新启动。

+0

因此,如果我将套接字移动到服务中,我可以与活动共享套接字吗,还是必须将数据从服务中编组为活动?如果我要管理它,那就不好了。表演将受到重创。 – user574771

+0

您可以直接通过IBinder对象共享套接字或数据。请参阅Service.onBind:http://developer.android.com/reference/android/app/Service.html – elevine

相关问题