我有一个多个Activity应用程序,可以让用户从输入IP /主机地址,到输入一些数据(另一个Activity),到查看视频帧流(还有另一个Activity)。我通过创建单例来共享活动之间的Socket。这被认为是用于无法序列化的对象的错误模式吗?
我整个早上都看过这些帖子和其他人通过网络和我能想到的最好的东西是没有真正简单的方法,但这对我来说似乎很容易。我认为唯一的另一种方法是自定义Application对象。
在活动中与单身人士合作过的人的任何见解我真的很想听到我可能没有意识到的任何问题,这些问题可能会让我更晚......谢谢!
答案 0 :(得分:3)
您的方法的缺点是您不能依赖单身人士的数据结构始终保留在内存中。最好的办法是在SharedPreferences
或SQLite数据库中保留信息。
听起来你的单身人士可能是Service
的好候选人。服务适用于没有任何UI的长期运行操作。多个活动可以绑定到服务并与之交互。与单例不同,如果/当您的服务被杀死时,您将获得生命周期钩子以适当地处理它。您也可以将其设置为在适当的时候重新启动。