화면이 꺼져있는 경우 일부 응용 프로그램이 wakelock을 보유하지 않는 한 Android 장치는 일반적으로 CPU를 끄고 심한 휴면 상태가됩니다. 장치 인터럽트 (예 : 네트워크에서 들어오는 데이터) 또는 예약 된 경보가 발생할 때 해당 상태에서 시스템 only wakes up. 이것은 주기적 타이머 인터럽트가 정기적으로 CPU를 깨우는 CPU 슬립 상태와 매우 다른 것 같습니다.Android 및 SO_KEEPALIVE - 절전 모드 장치가 여전히 Keepalive 세그먼트를 보냅니 까?
모든 네트워크 이벤트/타이머가 일시 중지되었거나 (예 : TCP 재전송 및 킵 얼라이브) 커널에서 경보로 등록 되었습니까?
이것이 SO_KEEPALIVE 소켓 옵션을 통해 소켓 레벨 킵 얼라이브의 작동을 방해 할 수 있는지 궁금합니다. 이 옵션은 여전히 Android 기기에서 작동합니까, 아니면 상위 레이어의 애플리케이션에서 처리해야합니까?
소켓 킵 얼라이브 : 아니오 : 핸드셋이 잠자기 상태가되면 킵 얼라이브가 중지됩니다. 그러나 광범위한 질문에 대해서는 "어떻게 오래 지속될 수있는 연결을 유지할 수 있습니까?"여기에 몇 가지 좋은 전략이 있습니다. [안드로이드 장치가 절전 모드 해제없이 인터넷에 TCP 연결을 유지하는 방법?] (http://stackoverflow.com/questions/13534732/how-to-make-the-android-device-hold-a-tcp-connection-to-internet-without-wake-lo) – paulsm4