WebView图片缓存
发表于:2024-11-27 作者:热门IT资讯网编辑
编辑最后更新 2024年11月27日,在项目中经常会使用到WebView控件,当加载html页面时,会在/data/data/应用package目录下生成database与cache两个文件夹如下图如示:private SQLiteDat
在项目中经常会使用到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;}