java - 打开套接字时 CPU 密集程度如何

标签 java android

所以,我有一个与服务器频繁通信的应用程序。我在单例类中完成了 Socket 创建,以确保创建它的工作只完成一次。然而,这是一个Android应用程序,我永远不能保证应用程序销毁时清理的代码会被执行。因此,我目前每次使用时都会打开和关闭套接字。

我不知道这对CPU的消耗有多大,有人能解释一下吗?

最佳答案

@providence,如果它是一个每次使用时打开/关闭套接字的单个应用程序,从 CPU 工作负载的角度来看,这不是我太担心的事情。如果您可以选择保持套接字打开,那么它们实际上可能是更好的选择。移动数据连接选项 s.a. GPRS、EDGE、3G-UMTS等内置优化,在不使用时放弃无线网络带宽,甚至可能进入低功耗状态。只有当有数据需要接收或发送时,手机才会返回其工作电源模式,并向套接字分配无线资源。您的 hibernate 套接字所做的一切就是消耗一些内存。

PS> 由于没有在 Android 上进行网络编程(直接在套接字级别)的第一手经验,因此我编写的大部分内容都是基于无线网络技术知识和通用 UNIX 套接字通信基础知识:-)。

只有当您喜欢我的回答并且觉得它有用时,才可以随意投票。

关于java - 打开套接字时 CPU 密集程度如何,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5542459/

相关文章:

java - 如何仅使用属性来定位 Selenium 中的元素,而不管属性包含什么值

java - 使用 HttpClient POST 提交表单并上传

android - 单击弹出窗口中的编辑文本时出现设计问题?

android - 使用 SpringFramework Android Rest Client 出现 422 错误时获取 Web 服务消息

c# - 断点和异常停止正常工作,xamarin android

Java线程更新jProgressBar在再次调用线程时不会更新

java - 不使用字母 e 或数字 5 在 Java 中输出或返回

java - 即使级别设置为信息,记录器是否始终读取调试,它是否有任何重大影响?

android - 类 java.awt.Font 错误 - Android

android - 动态壁纸渐变条纹 : is it possible to use ARGB_8888 or dithering to fix?