Android devices perform periodical (about 10s as period) WiFi scanning in the background. Let's say there is a Infrastructure BSS with 2 stations connected, one of the stations, staA, is a Android device, we call another station staB. Now we ping staA from staB in a period of 1s. When staA scans, it will transmit Probe Request Frame in each channel, which means it will leave the channel of current BSS for a while. And during that time, staA would be "deaf" to what is being transmitted by staB, which means staA would have a chance to loss the ICMP packet from staB each time staA scans, i.e. every 10s.
I did above test with my Android phone, no packet loss happened. And I tested with another Android device, instead of periodic packet loss, there was a periodic large ping latency.
How comes there is no packet loss during scanning ?