[Android]ping -c 1 -w 100 sina.cn的解析

来源:http://my.oschina.net/u/996206/blog/189914

Android 环境下:

ping -c 1 -w 100 sina.cn

-c: 表示次数,1 为1次

-w: 表示deadline, time out的时间,单位为秒,100为100秒。

连起来的意思是,ping 主机sina.cn 一次,超时为100秒。

要命的问题:如果这个动作放在Android UI thread来做,有可能出问题。

一般的场景是在UI thread起个Runtime process来执行"ping -c 1 -w 100 sina.cn”, 然后等候其返回,一般是Process.waitfor()。

要知道ping如果长时间不返回,最差情况这里就是等100秒, 而我们知道Android UI thread长时间block住会出ANR的问题。

所以这种场景是软件设计上的问题。