天天看点

android tcp连接调试心得

最近在调试TCP长连接这块,发现程序在后台运行后,然后锁屏,通过日志发现心跳数据没有发送,用数据线连接时却又可以发送心跳数据,估计android手机锁屏后cpu都停止工作了,用的Timer和TimerTask进行心跳定时发送,所以估Timer和TimerTask在锁屏后是不能用的,度娘找资料发现确实是的,锁屏后cpu不工作,要在锁屏后进行工作只能用AlarmService,由此总结三个问题:

1.手机锁屏待机后,Timer和TimerTask定时任务会失效,只有AlarmService可以用。

2.手机锁屏待机后,长连接会进入一种停止状态

3.用usb连接电脑看log,手机是不会进入待机状态,所以这时1和2的状态是不会发生的。