热门IT资讯网

WebView图片缓存

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


在项目中经常会使用到WebView控件,当加载html页面时,会在/data/data/应用package目录下生成database与cache两个文件夹如下图如示:

  1. 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;}


0