正如我在标题中提到的,我有一个互联网数据使用问题。
当我使用 KSOAP2 时,我有一个 ASMX(C#) Web服务返回平均 400字节JSON字符串/数组在我的Android应用程序中获取它显示 1.7 KB数据 在 TrafficStats 类中。
我检查了所有与测量数据使用相关的代码部分是否属实,我的意思是我检查了我的电话运营商最近1小时的数据使用情况来控制我的代码。
如何减少此数据使用量?感谢。
注意:压缩或解释为什么数据变为1.7 KB时,只有400字节可以帮助我很多。
Bounty编辑:很抱歉赏金但你的答案不符合解决方案的要求..
答案 0 :(得分:1)
正如在注释中所解释的那样,在SOAP + XML中返回一个json字符串会带来很多开销。
您可以使用ScriptMethod
和ScriptService
属性配置asmx服务,直接返回json。这样,您可以直接从该方法返回您的对象,而不是返回一个字符串。
现在您的修改方法将是这样的:
[ScriptMethod(ResponseFormat=ResponseFormat.Json)]
[WebMethod]
public MyClass GetID(string id)
{
var myobj = new MyClass();
//instead of serializing your object manually and returning a string
//directly return your object. Webservice will do it for you.
return myobj;
}
另请确保请求是POST
,而不是GET
(here是解释)
PS:启用Http压缩也可能有所帮助。 http://www.iis.net/configreference/system.webserver/httpcompression