我正在使用jquery、jquery和php后端构建一个移动应用程序。我的问题是,在某些页面中,我正在发送和接收多个ajax请求,这些请求明显地降低了性能,并导致内存泄漏,导致应用程序在低网络连接中崩溃。
优化ajax请求的可能方法是什么?
注意:-我定期发送一些ajax请求(比如每秒一次),有些ajax是根据事件发送的。
发布于 2015-10-15 07:27:34
首先,正确编写的Ajax代码不会泄漏内存。因此,如果您确实有泄漏,这很可能是由于错误编写的代码,而不是使用Ajax。
然后,您可以考虑一些优化。
哦,不要犹豫,拉一些已经存在的高规模的社交网络应用程序,打开调试器,切换到网络选项卡,研究他们正在做的事情。你也可以从已经解决了这个问题的高规模应用中学习。
发布于 2015-10-26 17:43:03
长轮询比轮询更好
如果您在一个设置的时间间隔内轮询,最好是在服务器端设置一个超时,然后等待返回消息,直到给定数目的循环。这对于SPA来说尤其有意义。然而,如果你投票,你应该增加空余时间,你得到的每一个空的回应。
按事件分组请求,而不是按实体
假设您每10秒轮询一次,以检索新消息。此外,您每10秒轮询一次以检索更多通知。与其执行两个请求,不如只执行一个ajax请求并返回一个大的json响应,然后使用该响应来修改客户端的DOM元素。
使用服务器发送的事件或套接字(如果可能的话)
套接字或服务器发送的事件会导致更少的请求,并且只会在服务器端发生实际事件时通知您。这是一个很好的比较。
发布于 2015-10-21 05:46:35
这里有几件你可以做的事
第一
然后
Expire或Cache-Control头。如果可能的话使用ETags。https://stackoverflow.com/questions/33142163
复制相似问题