应用中清理缓存应用实现

简介: 现在的android应用会在SD卡中出现大量的图片缓存,时间越长,积累的缓存越来越多,从用户的角度分析肯定是不好的,因此应该在你写的应用写个手动清理缓存SD缓存的代码处理,不废话,具体实现如下: 1),文件操作类: import java.

现在的android应用会在SD卡中出现大量的图片缓存,时间越长,积累的缓存越来越多,从用户的角度分析肯定是不好的,因此应该在你写的应用写个手动清理缓存SD缓存的代码处理,不废话,具体实现如下:

1),文件操作类:

import java.io.File;
import java.io.IOException;

import android.text.TextUtils;
/**
 * 
 * @ClassName: FileUtils 
 * @Description: TODO(文件处理类) 
 * 
 * @Author: 王富彬
 * @Date: 2013-11-3 下午1:33:41
 *
 * @Update by: wangfubin
 * @Update time: 2013-11-3 下午1:33:41
 *
 * @AppName:
 * @Version:
 * @company:
*
 */
public class FileUtils {
    /**
     * 
    * @Title: deleteFolderFile 
    * @Description: TODO(清除缓存功能实现) 
    * @param @param filePath 缓存路径
    * @param @param deleteThisPath 是否缓存
    * @param @throws IOException    设定文件 
    * @return void    返回类型 
    * @throws
     */
    public static void deleteFolderFile(String filePath, boolean deleteThisPath)  
            throws IOException {  
        if (!TextUtils.isEmpty(filePath)) {  
            File file = new File(filePath);  
  
            if (file.isDirectory()) {// 处理目录  
                File files[] = file.listFiles();  
                for (int i = 0; i < files.length; i++) {  
                    deleteFolderFile(files[i].getAbsolutePath(), true);  
                }  
            }  
            if (deleteThisPath) {  
                if (!file.isDirectory()) {// 如果是文件,删除  
                    file.delete();  
                } else {// 目录  
                    if (file.listFiles().length == 0) {// 目录下没有文件或者目录,删除  
                        file.delete();  
                    }  
                }  
            }  
        }  
    }  

}

2),在异步加载图片中统一图片缓存路径;

3),清理文件缓存操作;

try {
                                    FileUtils.deleteFolderFile(Environment.getExternalStorageDirectory().getPath()+"/cache", false);
                                    Toast.makeText(SettingActivity.this, “缓存成功”, 2000).show();
                                } catch (IOException e) {
                                    // TODO Auto-generated catch block
                                    e.printStackTrace();
                                }

注意cache是你缓存的图片路径,注意图片路径的统一应该在你开始搭建应用就应该去注意的。

 

希望我的博文对你有所帮助,如有错误,请指正,谢谢

相关文章
|
22天前
|
缓存 NoSQL Java
Redis深度解析:解锁高性能缓存的终极武器,让你的应用飞起来
【8月更文挑战第29天】本文从基本概念入手,通过实战示例、原理解析和高级使用技巧,全面讲解Redis这一高性能键值对数据库。Redis基于内存存储,支持多种数据结构,如字符串、列表和哈希表等,常用于数据库、缓存及消息队列。文中详细介绍了如何在Spring Boot项目中集成Redis,并展示了其工作原理、缓存实现方法及高级特性,如事务、发布/订阅、Lua脚本和集群等,帮助读者从入门到精通Redis,大幅提升应用性能与可扩展性。
49 0
|
1月前
|
SQL 缓存 开发框架
分享一个 .NET EF6 应用二级缓存提高性能的方法
分享一个 .NET EF6 应用二级缓存提高性能的方法
|
3月前
|
缓存 NoSQL Java
在 Spring Boot 应用中使用 Spring Cache 和 Redis 实现数据查询的缓存功能
在 Spring Boot 应用中使用 Spring Cache 和 Redis 实现数据查询的缓存功能
158 0
|
7天前
|
缓存 JavaScript 中间件
优化Express.js应用程序性能:缓存策略、请求压缩和路由匹配
在开发Express.js应用时,采用合理的缓存策略、请求压缩及优化路由匹配可大幅提升性能。本文介绍如何利用`express.static`实现缓存、`compression`中间件压缩响应数据,并通过精确匹配、模块化路由及参数化路由提高路由处理效率,从而打造高效应用。
29 5
|
17天前
|
存储 缓存 前端开发
缓存技术在软件开发中的应用与优化策略
缓存技术在软件开发中的应用与优化策略
|
26天前
|
缓存 算法 前端开发
深入理解缓存淘汰策略:LRU和LFU算法的解析与应用
【8月更文挑战第25天】在计算机科学领域,高效管理资源对于提升系统性能至关重要。内存缓存作为一种加速数据读取的有效方法,其管理策略直接影响整体性能。本文重点介绍两种常用的缓存淘汰算法:LRU(最近最少使用)和LFU(最不经常使用)。LRU算法依据数据最近是否被访问来进行淘汰决策;而LFU算法则根据数据的访问频率做出判断。这两种算法各有特点,适用于不同的应用场景。通过深入分析这两种算法的原理、实现方式及适用场景,本文旨在帮助开发者更好地理解缓存管理机制,从而在实际应用中作出更合理的选择,有效提升系统性能和用户体验。
56 1
|
20天前
|
开发工具 Android开发 iOS开发
从零开始学 Xamarin 开发,新手教程全攻略,安装环境、创建项目、设计界面,轻松开启开发之旅!
【8月更文挑战第31天】Xamarin是一种高效的跨平台移动应用开发工具,迎合了日益增长的移动应用需求。本文为Xamarin新手提供了一套详尽的入门指南,涵盖开发环境搭建、项目创建与配置、用户界面设计及功能实现等关键步骤。通过具体示例,帮助初学者快速上手Xamarin开发,开启移动应用创作之旅。
26 0
|
20天前
|
缓存 数据库 UED
【性能翻倍的秘密】Rails高手从不告诉你的缓存技巧,竟让应用瞬间提速,背后真相令人震惊!
【8月更文挑战第31天】缓存是提升Web应用性能的关键技术,Ruby on Rails内置了多种缓存机制,如页面缓存、动作缓存、片段缓存及数据库查询缓存,可显著减少数据库查询次数并加快页面加载速度。本文通过具体案例分析了这些缓存策略,并提供了示例代码,展示如何在实际应用中实施这些策略,帮助开发者提升用户体验。
36 0
|
26天前
|
缓存 NoSQL Linux
【Azure Redis 缓存】应用中出现连接Redis服务错误(production.ERROR: Connection refused)的排查步骤
【Azure Redis 缓存】应用中出现连接Redis服务错误(production.ERROR: Connection refused)的排查步骤
|
26天前
|
缓存 前端开发 Java
【Azure 应用服务】App Service 使用Tomcat运行Java应用,如何设置前端网页缓存的相应参数呢(-Xms512m -Xmx1204m)?
【Azure 应用服务】App Service 使用Tomcat运行Java应用,如何设置前端网页缓存的相应参数呢(-Xms512m -Xmx1204m)?