【问题标题】:Caching best practice for mobile hybrid/bridge app development移动混合/桥应用程序开发的缓存最佳实践
【发布时间】:2012-06-12 11:09:49
【问题描述】:
我真的需要限制任何不必要的网络流量和服务器访问。解决方案:常识缓存。 (我不会把所有东西都缓存在阳光下)。
但是,在阅读了Caching Files 文档并实现了几个简单示例之后,何时 是缓存 ajax json 结果的最佳时间?当然,每次显示我的视图时,我都可以进行通常的缓存/无缓存检查。但是有没有办法在初始应用程序启动期间执行异步加载以预取我知道用户将需要的远程数据?使用connectionStateChanged 事件是唯一的方式(或最接近的方式)吗?有没有办法“挂钩”到启动画面(是的,我知道苹果希望启动画面主要用于过渡)? window.onload?
【问题讨论】:
标签:
mobile-application
trigger.io
clientside-caching
【解决方案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);