80,472
社区成员




是不是线程开太多了,消耗太多系统资源,导致卡了
[quote=引用 4 楼 tcmakebest 的回复:] 从代码上看连接的是TCP数据流,这样的话就应该防止大多数人自以为的情形: 1 对方发送几次,这边就收到几次 2 对方发送几个字节,这边就肯定一次性收到几个字节. TCP能够保证数据不丢并且连续,但它不保证哪几个字节总是一起被收到,它们可能是分批依次到达,也或者许多数据首尾连接一起到达.
我看了你的代码,我觉得问题应该在你的handle上面,一般不会延时3分钟那么长的,而且还不刷新.怀疑你的handle不是运行在主线程.
我看了你的代码,我觉得问题应该在你的handle上面,一般不会延时3分钟那么长的,而且还不刷新.怀疑你的handle不是运行在主线程.
你要是想显示最后一个数据,那就读到最后一个数据才setText一次啊。 主要是你瞬间sendMessage 100多次,主线程处理不来。
你要是想显示最后一个数据,那就读到最后一个数据才setText一次啊。 主要是你瞬间sendMessage 100多次,主线程处理不来。
[quote=引用 9 楼 PK0071 的回复:] [quote=引用 7 楼 u011466828 的回复:] if (str.length() == 32) { Message msg = new Message(); msg.what = UPDATE_EYES; msg.obj = str; EyeActivity.this.mHandler.sendMessage(msg); Log.d("handleMessage", "send");//--- } } 这部分代码是每次都执行?也就是说每次都等于32?
看一下Log的时间就知道到底是什时候调用的.是不是与看到它显示出来的时间相同.
[quote=引用 7 楼 u011466828 的回复:] if (str.length() == 32) { Message msg = new Message(); msg.what = UPDATE_EYES; msg.obj = str; EyeActivity.this.mHandler.sendMessage(msg); Log.d("handleMessage", "send");//--- } } 这部分代码是每次都执行?也就是说每次都等于32?
if (str.length() == 32) { Message msg = new Message(); msg.what = UPDATE_EYES; msg.obj = str; EyeActivity.this.mHandler.sendMessage(msg); Log.d("handleMessage", "send");//--- } } 这部分代码是每次都执行?也就是说每次都等于32?
[quote=引用 2 楼 PK0071 的回复:] [quote=引用 1 楼 u011466828 的回复:] str == null 时,为什么要break,不是continue么?
从代码上看连接的是TCP数据流,这样的话就应该防止大多数人自以为的情形: 1 对方发送几次,这边就收到几次 2 对方发送几个字节,这边就肯定一次性收到几个字节. TCP能够保证数据不丢并且连续,但它不保证哪几个字节总是一起被收到,它们可能是分批依次到达,也或者许多数据首尾连接一起到达.
[quote=引用 1 楼 u011466828 的回复:] str == null 时,为什么要break,不是continue么?