我正在编写app来通过java类Robot控制Windows鼠标/键盘。应用正在使用套接字。 java中的服务器和android java中的客户端。目前我已经全部工作,但我的表现有问题。我的应用看起来像: MainMenu显示列表 - >选择键盘,选择鼠标。让我们说我选择先使用鼠标,它运行正常。然后我点击手机上的后退按钮然后转到键盘,现在我的性能较慢(延迟很小)。当我回到鼠标时,我也有延迟,这真的很痛。 我通过GlobalClass传递/共享我的连接对象。 那么问题是如何最小化/修复这些延迟?
答案 0 :(得分:0)
听起来就像你正在打开连接/插座一样。
所以你第一次使用,连接一次。然后第二个用法,你有两个连接然后三个,依此类推。
最有可能在套接字上发送额外数据,导致网络性能下降。
对此的简单解决方案是..退出活动时(按返回MainMenu),请确保关闭在活动中打开的所有连接。
例如,在您的OnCreate()
方法中,您已打开套接字..
请确保在OnDestroy()
方法中关闭它!
您可能还应考虑到他们可能会使用菜单按钮关闭您的应用。 (稍后重新开放)。
所以你应该在OnPause()
中释放套接字并在OnResume()
中启动/重启套接字,而不是创建和销毁方法。