应用中清理缓存应用实现

简介: 现在的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是你缓存的图片路径,注意图片路径的统一应该在你开始搭建应用就应该去注意的。

 

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

相关文章
|
5月前
|
缓存 监控 Linux
Linux系统清理缓存(buff/cache)的有效方法。
总结而言,在大多数情形下你不必担心Linux中buffer与cache占用过多内存在影响到其他程序运行;因为当程序请求更多内存在没有足够可用资源时,Linux会自行调整其占有量。只有当你明确知道当前环境与需求并希望立即回收这部分资源给即将运行重负载任务之前才考虑上述方法去主动干预。
1788 10
|
存储 缓存 NoSQL
缓存加速新玩法,让你的应用飞起来
本文主要叙述如何运用云数据库 Tair 构建缓存,助力应用提速、优化性能。
|
10月前
|
缓存 NoSQL Java
Redis应用—8.相关的缓存框架
本文介绍了Ehcache和Guava Cache两个缓存框架及其使用方法,以及如何自定义缓存。主要内容包括:Ehcache缓存框架、Guava Cache缓存框架、自定义缓存。总结:Ehcache适合用作本地缓存或与Redis结合使用,Guava Cache则提供了更灵活的缓存管理和更高的并发性能。自定义缓存可以根据具体需求选择不同的数据结构和引用类型来实现特定的缓存策略。
654 16
Redis应用—8.相关的缓存框架
|
存储 缓存 监控
Linux缓存管理:如何安全地清理系统缓存
在Linux系统中,内存管理至关重要。本文详细介绍了如何安全地清理系统缓存,特别是通过使用`/proc/sys/vm/drop_caches`接口。内容包括清理缓存的原因、步骤、注意事项和最佳实践,帮助你在必要时优化系统性能。
1265 78
|
缓存 NoSQL Java
Redis深度解析:解锁高性能缓存的终极武器,让你的应用飞起来
【8月更文挑战第29天】本文从基本概念入手,通过实战示例、原理解析和高级使用技巧,全面讲解Redis这一高性能键值对数据库。Redis基于内存存储,支持多种数据结构,如字符串、列表和哈希表等,常用于数据库、缓存及消息队列。文中详细介绍了如何在Spring Boot项目中集成Redis,并展示了其工作原理、缓存实现方法及高级特性,如事务、发布/订阅、Lua脚本和集群等,帮助读者从入门到精通Redis,大幅提升应用性能与可扩展性。
287 0
|
缓存 JavaScript 中间件
优化Express.js应用程序性能:缓存策略、请求压缩和路由匹配
在开发Express.js应用时,采用合理的缓存策略、请求压缩及优化路由匹配可大幅提升性能。本文介绍如何利用`express.static`实现缓存、`compression`中间件压缩响应数据,并通过精确匹配、模块化路由及参数化路由提高路由处理效率,从而打造高效应用。
562 93
|
10月前
|
缓存 NoSQL PHP
用装饰器模式实现多层缓存:让PHP应用更快更稳
通过装饰器模式实现PHP多层缓存架构,详解如何利用内存、Redis、文件缓存组合提升应用性能。包含设计思路、代码示例与实战效果对比,助您构建高效缓存策略。
|
缓存 Java Shell
Android 系统缓存扫描与清理方法分析
Android 系统缓存从原理探索到实现。
573 15
Android 系统缓存扫描与清理方法分析
|
缓存 NoSQL PHP
Redis作为PHP缓存解决方案的优势、实现方式及注意事项。Redis凭借其高性能、丰富的数据结构、数据持久化和分布式支持等特点,在提升应用响应速度和处理能力方面表现突出
本文深入探讨了Redis作为PHP缓存解决方案的优势、实现方式及注意事项。Redis凭借其高性能、丰富的数据结构、数据持久化和分布式支持等特点,在提升应用响应速度和处理能力方面表现突出。文章还介绍了Redis在页面缓存、数据缓存和会话缓存等应用场景中的使用,并强调了缓存数据一致性、过期时间设置、容量控制和安全问题的重要性。
277 5
|
缓存 NoSQL 数据库
运用云数据库 Tair 构建缓存为应用提速,完成任务得苹果音响、充电套装等好礼!
本活动将带大家了解云数据库 Tair(兼容 Redis),通过体验构建缓存以提速应用,完成任务,即可领取罗马仕安卓充电套装,限量1000个,先到先得。邀请好友共同参与活动,还可赢取苹果 HomePod mini、小米蓝牙耳机等精美好礼!