Android Socket高CPU使用率

时间:2011-09-24 00:36:48

标签: android sockets networking client cpu-usage

我做了一个客户端/服务器( android / pc ),似乎来自客户端的网络使用使用了大量的CPU。想从网络只接收4k-5k,cpu上升到33毫秒。如果数据高于~32k,则cpu可以高于90-100毫秒。

首先,我在java版本中尝试了客户端(网络部分),在c之后,问题仍然存在。

我描述了发送数据的服务器部分,它使用了大约0毫秒。

一些细节:

  • TCP连接。
  • 客户端连接服务器,客户端发送请求,服务器发送 数据(4-10k的块),客户端发送请求,服务器发送...
  • 网络部分已线程化。
  • 使用(recv或recv / select)获取数据。
  • 智能手机:Nexus one。
  • 在探查器模式下测试(仅限网络部件并显示fps /毫秒)。
  • 在Wifi中测试过(电脑,手机,网络都很近)。

如果您有任何建议或问题,请告诉我。

感谢。

1 个答案:

答案 0 :(得分:1)

您是否在Android端使用BufferedOutputStream来编写数据?如果没有,它会逐字节写入,这可以解释高CPU使用率。

如果不是这种情况,请在问题中添加一些源代码。