Ksoap2-android在Android真机上call方法非常慢
大家好,在Android上使用ksoap2进行webservice开发,在android模拟器上调用call函数时只需要1-2秒就可以得到回复,而在真机上调用同样的代码需要10-15秒才能得到回复。别的代码在真机上运行速度都很快,就是运行call函数速度慢,请问有可能是什么原因导致在真机上运行这么慢?Ksoap2的版本2.6.2和2.6.3都试过,结果一样。
所有测试环境均在局域网中进行,Webservice服务器和无线路由器相连,路由器型号为迅捷FW300R。
webservice模拟器运行环境:笔记本处理器T6570(2.1GHz),内存2G,系统Windows 7。笔记本通过无线网卡Intel 5100AGN和无线路由器相连,模拟器为Android 2.3.3。
Android真机:华为U8860(Android版本2.3.6)、小米(Android 2.3.5),真机通过WIFI和无线路由器相连。二者的速度相当,都需要10到15秒才能得到回复。
为什么使用真机的速度会如此的慢,所采用的真机的性能也不差,而且手机收到数据后,解析的速度也是相当快,就是在请求的时候速度相当慢。请问大家觉得最有可能是什么原因?会不会是网络的问题?如何解决?手机使用WIFI速度应该足够了,何况笔记本也是通过WIFI和路由器相连,速度就很快。有人说无线路由器WMM功能可能导致手机的速度慢,但我关了速度还是一样很慢。请大家给予建议或指点,谢谢大家。
[解决办法]
前几天,看到有人发帖说
如果所在局域网环境无法访问外网的话
会导致call方法变慢,每次要好久才能得到反馈
我没试过
因为我用的公司的路由测的,然后公司路由都是有接外网的,我不能要求他们关闭外网让我测
我个人怀疑,call方法是否需要访问外围dns服务器,结果因为不能访问,每次都要等超时才能得到反馈?
这个仅仅是个人猜测
[解决办法]
让你的局域网能上外网试试,或者用2.3以下android版本,就应该很快
局域网不能外网、android2.3以上就慢。
这个问题困扰了很久了,没找到解决办法。