标签:webview 图片缓存
在项目中经常会使用到WebView控件,当加载html页面时,会在/data/data/应用package目录下生成database与cache两个文件夹如下图如示:
private SQLiteDatabase database;
/**
* 初始化缓存数据库webviewCache
* 清空cache表中的数据
*/
private void InitDatabase(){
database = SQLiteDatabase.openDatabase(
getDatabasePath("webviewCache.db").getAbsolutePath(), null,
SQLiteDatabase.OPEN_READWRITE);
String sql = "delete from cache";
database.rawQuery(sql, new String[]{});
}
/**
* 从cache表中获取第一个图片路径
* 由于刚进入界面就清空了cache表
* 所以正常情况下,表中只存在一张缓存图片
* @return
*/
public String getBarName(){
String result = null;//
Cursor cursor = database.rawQuery("select * from cache",
new String[] {});
if(cursor.moveToNext()){
result = cursor.getString(cursor.getColumnIndex("filepath"));
}
cursor.close();
database.close();
return result;
}
/**
* 从缓存获取图片
*
* @return
*/
private Bitmap getPictureFromCache(String str){
Bitmap bitmap=null;
try {
File file=new File(getCacheDir()+"/webviewCache/" + str);
FileInputStream inStream=new FileInputStream(file);
bitmap=BitmapFactory.decodeStream(inStream);
} catch (Exception e) {
e.printStackTrace();
}
return bitmap;
}
本文出自 “爬过山见过海” 博客,请务必保留此出处http://670176656.blog.51cto.com/4500575/1679070
标签:webview 图片缓存
原文地址:http://670176656.blog.51cto.com/4500575/1679070