【发布时间】:2012-03-16 09:12:36
【问题描述】:
我已经为 Android 制作了一个应用程序,我想向我的老师证明我选择的解决方案是最好的,不仅基于文献而且在实践中(通过提供系列统计数据)。所以我想知道是否有人可以建议我如何一方面比较 REST、KSOAP 和 XML-RPC 等 Web 服务解决方案,另一方面我还想比较这些解析解决方案 SAX、DOM 和 XML Pull Parser另一方面。 现在我正在这样做: 我正在发出同样最简单的请求(当然响应服务器应该是相同的)和测量(RAM 消耗、所用时间和..?): 活动消耗的内存量
Runtime runtime = Runtime.getRuntime();
System.out.print( "used : " + ( runtime.totalMemory()-runtime.freeMemory() ) );
System.out.print( " committed : " + runtime.totalMemory() );
System.out.println( " max : " + runtime.maxMemory() );
执行请求所花费的时间:
long start = System.nanoTime();
//instructions to do
long duration = System.nanoTime() - start;
但在此期间,我认为它会受到网络带宽(对于 Web 服务)的影响
我也想知道如何测量活动产生的网络流量,但我不知道该怎么做,有人可以帮助我并告诉我方向是否正确吗? 我可以使用其他标准进行比较吗?
最后,有什么方法可以测试 Android 图形用户界面(性能、功能、像 Junit 这样的单一测试) 感谢阅读
【问题讨论】:
-
如何对与 Android 相关的 Web 服务进行基准测试?
-
您可以在同一个网络中对两个应用程序进行多次实验(例如 100 次或更多),然后为每个应用程序取平均值。然后,我认为,您可以呈现平均结果。
-
我认为网络根本不应该是等式的一部分。在我看来,会影响性能的相互(和可控)部分是序列化/协议格式和解析器架构(例如流与非流、推与拉等)
-
你说得对,我只想看看每个人产生的流量,因为他们基本上用不同的解决方案做同样的工作(好像他们都去提取相同的数据ETC..)。问题是它们不是原生 api 类(ksopa 和 XML-RPC),所以我想看看哪个使用较轻的流量