首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >为WebApps关闭Android上的缓存

为WebApps关闭Android上的缓存
EN

Stack Overflow用户
提问于 2014-03-06 02:16:37
回答 1查看 5.6K关注 0票数 7

老实说,我不确定我是否应该这样写;不管怎样,让我们互相帮助。

我正在构建一个网络应用程序,我定期检查我的Android手机,在这一点上。我没有一直把它上传到Phonegap或其他地方,而是配置了一个简单的页面,其中一个iFrame指向web应用程序(在线托管)的内容。

不好的是:为了看到变化,我必须清理应用程序缓存。否则,“以前的”版本仍在显示(因为它卡在缓存中)。

因此,我希望在关闭所有对象和文件缓存的页面中是否有一个选项可以打开/关闭Android/Configure?

多谢各位!

想知道我是怎么工作的..。

代码语言:javascript
运行
AI代码解释
复制
 -------------------------------------------------
|                   My Phone                    |
|                   With a                      |
|                                               |
|   -----------------------------------------   |
|   |           Cordova/Phonegap            |   |
|   |           Application  which          |   |
|   |           loads a                     |   |
|   |                                       |   |
|   |   --------------------------------    |   |
|   |   |       Website with            |   |   |
|   |   |       iFrame                  |   |   |
|   |   |       height:100%             |   |   |
|   |   |       width:100%              |   |   |
|   |   |                               |   |   |
|   |   |   -------------------------   |   |   |
|   |   |   |                       |   |   |   |
|   |   |   |       HTML5           |   |   |   |
|   |   |   |       Responsive      |   |   |   |
|   |   |   |       Webpage         |   |   |   |
|   |   |   |   (The WebApp itself) |   |   |   |
|   |   |   |                       |   |   |   |
|   |   |   -------------------------   |   |   |
|   |   |                               |   |   |
|   |   |                               |   |   |
|   |   ---------------------------------   |   |
|   |                                       |   |
|   ----------------------------------------    |
|                                               |
-------------------------------------------------
EN

回答 1

Stack Overflow用户

发布于 2014-03-06 05:08:05

在Cordova/Phonegap应用程序上有两种禁用缓存的方法。

  1. 首先是在加载内容时配置webview设置。
  2. 第二种方法是在每次刷新页面时向url添加时间戳值。这更有可能是一个解决办法。

我将详细描述这两种选择。

第一解

新版本的Cordova (5.3.3)

添加以下进口

代码语言:javascript
运行
AI代码解释
复制
import android.webkit.WebSettings;
import android.webkit.WebView;

像这样覆盖onResume -

代码语言:javascript
运行
AI代码解释
复制
@Override
protected void onResume() {
    super.onResume();
    // Disable caching .. 
    WebView wv = (WebView) appView.getEngine().getView();
    WebSettings ws = wv.getSettings();

    ws.setAppCacheEnabled(false); 
    ws.setCacheMode(WebSettings.LOAD_NO_CACHE);
    loadUrl(launchUrl); // launchUrl is the default url specified in Config.xml
}

=======

用于Cordova的旧版本

假设您正在将内容加载到Activity类中。

您可以在将are视图加载到活动类时配置它。

下面是示例代码片段,您可以了解如何在Phonegap/Cordova应用程序中禁用浏览器缓存。

代码语言:javascript
运行
AI代码解释
复制
public class MainActivity extends DroidGap {
    @Override
    protected void onResume() {
        super.onResume();
        // Disable caching .. 
        super.appView.getSettings().setAppCacheEnabled(false); 
        super.appView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
        super.loadUrl("http://blabla.com");
    }
}

如您所见,每当触发onResume()事件时,此代码块将加载内容,这意味着您的web内容将在应用程序处于前台时重新加载。

下面的代码防止在webview上缓存。

代码语言:javascript
运行
AI代码解释
复制
super.appView.getSettings().setAppCacheEnabled(false); 
super.appView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);

第二解

这个解决方案确实很傻,但其行为与预期一致。对于你的处境来说,这可能是有帮助的。

您可以简单地在url末尾添加时间戳值。下面是示例代码片段。

代码语言:javascript
运行
AI代码解释
复制
public class MainActivity extends DroidGap {

    @Override
    protected void onResume() {
        super.onResume();

        StringBuilder urlBuilder = new StringBuilder("http://blabla.com");
        urlBuilder.append("?timestamp=");
        urlBuilder.append(new Date().getTime());
        super.loadUrl(urlBuilder.toString());

    }
}

它每次都在url末尾追加时间戳值,并在新的时候加载内容。

这是避免在Phonegap/Cordova中的web应用程序中缓存的两种方法。

希望这会有帮助。

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22221395

复制
相关文章
discuz关闭缓存
后台管理 ——》 全局 ——》 性能优化 ——》 内存优化 ——》 ”内存优化功能设置“ ——》 ”关闭“缓存一些功能
黄啊码
2020/05/31
4.4K0
thinkphp如何关闭缓存
明确一点:除非你不用tp 的模板引擎。这里所谓的关闭编译缓存是指:有了缓存文件,也重新编译,不用以前生成好的。
PM吃瓜
2019/08/13
3.7K0
Thymeleaf关闭页面缓存配置
Thymeleaf默认会开启页面缓存,提高页面并发能力,但会导致我们修改页面不会立即被展现,所以关闭缓存会更快显示
用户9006224
2022/12/21
2.6K0
如何关闭 YouTube 上的受限模式
YouTube 通过多个视频来教授课程(教程)并为您提供无限的娱乐。事实上,YouTube 年龄限制通过阻止有害或冒犯性视频、粗俗语言和图形内容,避免他们观看任何不适当的内容,甚至是错误或意外地观看,从而确保为孩子提供合适且更安全的数字环境。
allyouwannaknow
2023/07/13
6.2K0
如何关闭 YouTube 上的受限模式
android bitmap的缓存策略
MelonTeam
2018/01/04
1.2K1
检测Android应用的启动和关闭
原文链接:Determine when App is Opened or Closed 译文出自:开发者前线 入门指南 应用的activity是否显示在界面是决定应用是打开还是关闭的核心因素。我们先来看一个简单的例子,一个应用只有一个activity并且不支持全屏,这个activity的onStart和onStop方法就决定了这个应用是打开的还是关闭的。 @Override protected void onStart() { super.onStart(); // The Applica
code_horse
2018/07/02
3.3K0
Android 关闭防火墙
现象 连接了设备,但是通过监听端口任然不能访问,甚至都不能ping通。 解决办法 关闭防火墙即可。 命令 iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT ip6tables -P INPUT ACCEPT ip6tables -P OUTPUT ACCEPT ip6tables -P FORWARD ACCEPT
叉叉敌
2019/02/20
4.6K0
android之listview缓存图片(缓存优化)
网上关于这个方面的文章也不少,基本的思路是线程+缓存来解决。下面提出一些优化: 1、采用线程池 2、内存缓存+文件缓存 3、内存缓存中网上很多是采用SoftReference来防止堆溢出,这儿严格限制只能使用最大JVM内存的1/4 4、对下载的图片进行按比例缩放,以减少内存的消耗 具体的代码里面说明。先放上内存缓存类的代码MemoryCache.java: public class MemoryCache {   private static final String TAG = "MemoryC
xiangzhihong
2018/01/29
1.8K0
Android--关闭某个指定activity
最近项目中有这样的需要,在关闭当前Activity同时关闭前面两个Activity,不涉及到应用的退出。自己想了一些方案,也查了一些资料,做个笔记吧。
Android技术干货分享
2019/04/17
5.3K0
Android--关闭某个指定activity
Android WebView 缓存处理
当我们加载Html时候,会在我们data/应用package下生成database与cache两个文件夹: 我们请求的Url记录是保存在webviewCache.db里,而url的内容是保存在webviewCache文件夹下. WebView中存在着两种缓存:网页数据缓存(存储打开过的页面及资源)、H5缓存(即AppCache)。
战神伽罗
2019/07/22
4.5K0
点击加载更多

相似问题

apple独立webapps缓存

111

UIL Android“缓存关闭”

11

Android 2.3+上的background HTML5 WebApps

34

如何关闭Firefox上的缓存?

1422

如何关闭Firefox上的缓存?

253
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文