javascript - Cordova 混合应用程序 - HTTP 请求非常慢

标签 javascript python angularjs cordova restangular

我正在构建一个混合应用程序,在客户端使用 AngularJSCordovaRestangularPython wsgiref.simple_server 在服务器端。我没有做任何特别的事情,这只是像这样的简单请求:

Restangular.one('/devices').get().then(function (response) {
    viewModel.devices = Restangular.stripRestangular(response.devices);
});

我为 Restangle 设置了 baseUrl:

.config(function(RestangularProvider){
    RestangularProvider.setBaseUrl('http://192.168.54.102:8000/');
})

当我在本地计算机上使用 Chrome 浏览器时,一切都很快,工作正常。但是,当我在 Android 设备上的 Phonegap Developer app 上使用它或在 Android 设备上安装应用程序时,它的运行速度非常慢。看起来它发送到服务器的延迟很大,因为我在服务器端看到调试服务器日志需要一些时间。当带有服务器的 python 应用程序不处于 Debug模式时,例如当我在本地计算机上安装后正常启动它时,也会发生这种情况。正如我看到有些人遇到这个问题,是否有人找到解决方案或原因,导致混合应用程序中的 HTTP 请求非常慢?预先感谢您的每一个回答。

最佳答案

由于您是一名混合开发人员,我相信您熟悉 Chrome DevTools 。对于 Mac 上的我,请点击 cmd + option + i,或转到“查看”->“开发人员”->“开发人员工具”。

Chrome 在最近的历史中真正伟大的事情是它现在也可以与 Android WebView 一起使用。混合开发人员并不总是拥有这种便利,并且必须使用类似 Weinre 之类的工具进行调试。 .

现在我们可以直接在 Chrome 浏览器中使用 DevTools,同时您的 Android 设备通过 ADB 从一个名为 chrome://inspect 的新选项卡连接。

Here有一些更详细的信息,告诉您在遇到困难时如何执行此操作。

从这里打开网络面板并查看您的请求花费了多长时间。如果它们在此处显示加载时间明显较长,则该问题与 Angular、Cordova、Restangular 甚至可能是混合架构无关。我会检查设备上其他地方的网络和性能。

如果这绝对不是问题,我会使用 Timeline DevTools 中的选项卡可查看浏览器接收信息和设备显示信息之间花费的时间。如果中间发生任何明显较长的过程,您将在此处看到。

关于javascript - Cordova 混合应用程序 - HTTP 请求非常慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32464111/

相关文章:

javascript - 如果跨度为空,则显示跨度内的文本

javascript - 用于将字符串中单词的字符更改为下划线的正则表达式,第一个字符除外

python - python 中的 Countif() 单词

javascript - Angular.js 发出重复请求但从未加载

javascript - AngularJS:如何在页面完全加载之前显示预加载或加载?

javascript - 从 Wordpress REST API 获取所有对象的列表

javascript - 获取返回随机值的函数的当前值

python - 不能将 line_profiler 与 Cython 一起使用

python - 使用 Pandas 获取空单元格的行和列

javascript - 使用 angularJS Controller 生成下拉菜单