清除webview产生的缓存

/**
	 * 删除应用缓存(/data/data/包名/databases或者webview)<br/>
	 * @param context
	 * @return
	 * @author fighter <br />
	 * 创建时间:2013-8-15<br />
	 * 修改时间:<br />
	 */
	public static void deleteCache(Context context){
		// 清除 webview中 的缓存用户名和密码
		try {
			WebViewDatabase database = WebViewDatabase.getInstance(context);
			database.clearUsernamePassword();
			database.clearHttpAuthUsernamePassword();
			database.clearFormData();
		} catch (Exception e) {
			e.printStackTrace();
		}
		
		// 获取/data/data/包名/cache目录
		File cFile = context.getCacheDir();
		// 得到 /data/data/包名/目录
		File cFilePrant = cFile.getParentFile();
		File fileData = new File(cFilePrant, "databases");
		if(fileData.exists() && fileData.isDirectory()){
			System.out.println(fileData.getPath());
			File[] files = fileData.listFiles();
			if(files != null){
				for (File file : files) {
					String name = file.getName();
					if(name != null && name.startsWith("webview")){
						file.delete();
					}
				}
			}
		}
		deleteDirectory(cFile);
	}
	
	/**
	 * 删除指定目录下的所有文件.
	 * 
	 * @param file
	 *            作者:fighter <br />
	 *            创建时间:2013-4-25<br />
	 *            修改时间:<br />
	 */
	public static void deleteDirectory(File file) {
		if (file != null && file.exists() && file.isDirectory()) {
			File[] files = file.listFiles();
			if (files == null) {
				file.delete();
				return;
			}
			for (File f : files) {
				if (f.isDirectory()) {
					deleteDirectory(f);
				} else if (f.isFile()) {
					f.delete();
				}
			}
		}
	}

猜你喜欢

转载自zyzzsky.iteye.com/blog/1924819