改变活动后如何摆脱延误?

时间:2016-05-19 15:58:11

标签: java android sockets android-activity

我正在编写app来通过java类Robot控制Windows鼠标/键盘。应用正在使用套接字。 java中的服务器和android java中的客户端。目前我已经全部工作,但我的表现有问题。我的应用看起来像: MainMenu显示列表 - >选择键盘,选择鼠标。让我们说我选择先使用鼠标,它运行正常。然后我点击手机上的后退按钮然后转到键盘,现在我的性能较慢(延迟很小)。当我回到鼠标时,我也有延迟,这真的很痛。 我通过GlobalClass传递/共享我的连接对象。 那么问题是如何最小化/修复这些延迟?

1 个答案:

答案 0 :(得分:0)

听起来就像你正在打开连接/插座一样。

所以你第一次使用,连接一次。然后第二个用法,你有两个连接然后三个,依此类推。

最有可能在套接字上发送额外数据,导致网络性能下降。

对此的简单解决方案是..退出活动时(按返回MainMenu),请确保关闭在活动中打开的所有连接。

例如,在您的OnCreate()方法中,您已打开套接字.. 请确保在OnDestroy()方法中关闭它!

您可能还应考虑到他们可能会使用菜单按钮关闭您的应用。 (稍后重新开放)。 所以你应该在OnPause()中释放套接字并在OnResume()中启动/重启套接字,而不是创建和销毁方法。