缓存移动混合/桥接应用程序开发的最佳实践

时间:2012-06-12 11:09:50

标签: mobile-application trigger.io clientside-caching

我真的需要限制任何不必要的网络流量和服务器出行。解决方案:常识缓存。 (我不打算在阳光下缓存一切)。

但是,在阅读Caching Files文档并实现几个快速示例后,何时是缓存ajax json结果的最佳时间?当然,每次显示我的视图时,我都可以执行通常的缓存/无缓存检查。但有没有办法在初始应用程序启动期间执行异步加载以预取我知道用户将需要的远程数据?使用connectionStateChanged事件是唯一的方式(或最接近的方式)?有没有办法“挂钩”到启动画面(是的,我知道Apple希望启动画面主要是过渡)?在window.onload?

1 个答案:

答案 0 :(得分:1)

因此,如果我理解正确的话,那么每次应用程序启动时,您都在寻找一种异步获取远程资源的方法,并将这些数据缓存掉?

我们的request module本质上是异步的,因此您可以直接放入forge.request.ajax以开始获取Ajax响应,然后将其存储在首选项模块中。

虽然它在实践中可能完全相同,但您甚至可以将其包装在setTimeout中,以使其甚至更多异步:

setTimeout(function ()
  forge.request.ajax({
    url: 'http://example.com/method.json',
    success: function (data) {
      forge.prefs.set("method.json-cache", data);
    }
  });
}, 10);