WebView有一个设置滚动条位置的属性:android:scrollbarStyle 可以是insideOverlay可以是outsideOverlay。但是在layout里面怎么设置这个属性都对WebView不起作用。
mWebView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY); 就可以了java代码里面设置
1.优先缓存
好了,这里你是不是想问:既然这些图片已经存在手机缓存里面了,为什么Webview不能再把它显示出来呢?
这里我们需要设置下:
WebSettings webSettings= webView.getSettings();
webSettings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
//WebView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE); 默认不使用缓存!
LOAD_CACHE_ELSE_NETWORK的意思是:
Use
cache if content is there, even if expired (eg, history nav) If it is not in the cache, load from network. Use withsetCacheMode(int).
如果内容已经存在cache 则使用cache,即使是过去的历史记录。如果cache中不存在,从网络中获取!
2.缓存管理:
(1)clearCacheFolder(Activity.getCacheDir(), System.currentTimeMillis());//删除此时之前的缓存
// clear the cache before time numDays
private int clearCacheFolder(File dir, long numDays) {
int deletedFiles = 0;
if (dir!= null && dir.isDirectory()) {
try {
for (File child:dir.listFiles()) {
if (child.isDirectory()) {
deletedFiles += clearCacheFolder(child, numDays);
}
if (child.lastModified() < numDays) {
if (child.delete()) {
deletedFiles++;
}
}
}
} catch(Exception e) {
e.printStackTrace();
}
}
return deletedFiles;
}(2) 退出应用前删除缓存的方法!
File file = CacheManager.getCacheFileBaseDir();
if (file != null && file.exists() && file.isDirectory()) { for (File item : file.listFiles()) { item.delete();
}
file.delete();
}
context.deleteDatabase("webview.db");
context.deleteDatabase("webviewCache.db");
问题的来历:我加载一个页面的时候,想要在绘屏展示之前取得要加载的内容,并对内容做一些特定的处理。然后再通过loadData来展示修改的内容。原来 使用缓存,也就是CacheManager.CacheResult取得数据,但是也会遇到没有缓存的情况,就是取不到缓存。这时候我就想使用方法直接取 得webview内存的加载的内容。可是不知道怎么去获取。
昨天已经解决了这个问题,具体的做法是在onPageFinished()的时候,通过loadUrl()加载一段javascript,这段脚本的作用 就是通过DOM树取得Body体的内容,再把这些内容作为字符串传到java层的回调函数里面,这样在回调函数里面处理取得的内容,处理完毕,再 loadData展示出来
分享到:
相关推荐
以上知识点涵盖了Android应用开发中的一些常见问题及其解决方案,包括`ListView`的优化、WebView对Flash的支持以及文件上传等。这些技巧对于提高应用程序性能和用户体验有着重要的作用。开发者可以根据实际情况灵活...
描述中提到赵路平在大会上通过PPT形式分享了58同城Android客户端如何逐步演进至使用Walle框架的历程,同时强调了在实践中所积累的经验与方法。本次分享是结合了技术与实际应用,旨在提供给与会者关于在大型互联网...
最无私的Android资料(书籍+代码)分享[总结] Android中文帮助教程(非常合适新手入门) android程序编写及调试新手入门 大家一起学Android(Windows篇) android入门与提高必看指南 Android入门逆引手册 Android...
总结,理解并正确使用Cookie对于Android开发者来说至关重要,无论是为了实现用户登录状态的保持,还是提供个性化的用户体验,都需要对Cookie有深入的认识。在实际开发中,应遵循最佳实践,确保用户数据的安全性和...
### Android优秀简历知识点总结 #### 一、个人基本信息 - **姓名**:Xxx - **年龄**:25岁 - **户籍**:四川 - **联系方式**: - TEL: (+86)xxxxxx - E-mail: xxxx@126.com - **工作经验**:3年 #### 二、教育...
这一过程不仅涉及到了移动开发领域中的多种高级技术,如Xposed框架的使用、WebView的JS注入以及定时任务管理等,同时也展示了如何通过逆向工程分析和解决问题的能力。当然,值得注意的是,此类插件的开发和使用需...
在Android项目开发中,积累和应用实用技巧是提高效率和保证产品质量的关键。以下是一些从标题、描述和标签中提取的30条Android开发技巧与经验总结: 1. **字体大小选择**:对于阅读型文本,如文章,使用`sp`单位...
【标题】"实用的代码"涉及的是JavaScript与HTML在网页开发中的实际应用,结合了编程实践与知识总结的重要过程。...学习过程中,应注重代码结构、逻辑和最佳实践,同时不断总结和积累经验,以提升自己的技能。
- **UC浏览器**:2021年,UC浏览器在Android平台的月活跃用户数超过1亿,加上其整体用户数,入口能力强大,特别是在Android市场。 - **支付宝**:得益于余额宝的成功,支付宝展示了其入口价值,不仅积累了大量用户...