返回介绍

11.6 日志与 App 性能

发布于 2024-08-17 23:46:11 字数 790 浏览 0 评论 0 收藏 0

日志这玩意儿非常强大,关键看你会不会用。

在Android日常开发中,我会输出每次调用MobileAPI时的接口地址、返回的JSON字符串。但是这还远远不够。

对于一次完整的请求,我们需要记录以下信息:

1)发起请求的时间点,注意这个时间不是点击请求按钮的时间点,而是点击请求后调用HttpRequest执行一次MobileAPI网络请求的那个时间点。

2)接收到MobileAPI网络请求的响应时间。注意这个时间点,是接收到JSON字符串的时间。

3)从客户端接收到JSON字符串到页面生成的时间。这主要用于测试列表页的生成时间,用于优化列表页的加载性能。

将1)和2)这两个时间点相减,得到调用一次网络接口的时间,这期间包括服务器处理该请求的时间,以及来回传输数据的时间。我们请MobileAPI将每次响应的时间记录在HttpResponse响应头中,返回给客户端,就可以计算出每次请求中到底哪一段最耗费时间。

以上就是客户端网络性能的检测方案。我们将这些信息作为日志记录到SD卡上。每天晚上跑Monkey,基本上每个页面都会走好几遍,那么每个MobileAPI接口的性能数据就都能得到了。

每天只在WiFi网络环境下跑Monkey测试,是得不到真实的数据的。跑Monkey测试时一定要使用2G、3G和4G,虽然多花点钱,但是能模拟出大部分用户的真实性能数据,其中哪个页面是痛点就一目了然了。

另一种采集性能数据的做法就是把每次MobileAPI的性能数据放在内存中,然后每隔半分钟就发送到服务器,由服务器进行分析。这种解决方案的缺点就是一旦没有网络,MobileAPI网络请求就会在客户端产生积压,所以要对积压过久的网络请求及时清理。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文