Android 之 远程图片获取和本地缓存,985研究生入职电网6个月

本文探讨了Android中远程图片的获取和本地缓存策略,包括计算SD卡空间、修改文件时间、本地缓存优化等。通过示例代码展示了如何删除过期和未使用的缓存文件,以及内存中LRU算法的应用,旨在提高应用性能和用户体验。
摘要由CSDN通过智能技术生成
  1. Log.w(TAG,“FileNotFoundException”);

  2. } catch (IOException e) {

  3. Log.w(TAG,“IOException”);

  4. }

  5. }

  • 计算sdcard上的空间:

[java]  view plain copy

  1. /**

  2. * 计算sdcard上的剩余空间

  3. * @return

  4. */

  5. private int freeSpaceOnSd() {

  6. StatFs stat = newStatFs(Environment.getExternalStorageDirectory() .getPath());

  7. double sdFreeMB = ((double)stat.getAvailableBlocks() * (double) stat.getBlockSize()) / MB;

  8. return (int) sdFreeMB;

  9. }

  • 修改文件的最后修改时间

[java]  view plain copy

  1. /**

  2. * 修改文件的最后修改时间

  3. * @param dir

  4. * @param fileName

  5. */

  6. private void updateFileTime(String dir,String fileName) {

  7. File file = new File(dir,fileName);

  8. long newModifiedTime =System.currentTimeMillis();

  9. file.setLastModified(newModifiedTime);

  10. }

  • 本地缓存优化

[java]  view plain copy

  1. /**

  2. *计算存储目录下的文件大小,当文件总大小大于规定的CACHE_SIZE或者sdcard剩余空间小于FREE_SD_SPACE_NEEDED_TO_CACHE的规定

  3. * 那么删除40%最近没有被使用的文件

  4. * @param dirPath

  5. * @param filename

  6. */

  7. private void removeCache(String dirPath) {

  8. File dir = new File(dirPa

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值