uni-app iOS tmp 文件不清理 重大bug

uni-app iOS tmp 文件不清理 重大bug

开发环境 版本号 项目创建方式
Windows 10 HBuilderX

测试过的手机

iOS 全系列,安卓手机无此bug

操作步骤

预期结果

手机 清理进程重进,清理 tmp 目录文件,请尽快修复

实际结果

手机 清理进程重进,清理 tmp 目录文件

bug描述

手机拍摄视频压缩,会保存到 tmp 手机目录下,手机 清理进程重进,没有清理 tmp 目录文件,导致 文稿数据越来越大,


更多关于uni-app iOS tmp 文件不清理 重大bug的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

HBuilderX 4.02.2024030621-alpha 已修复。

更多关于uni-app iOS tmp 文件不清理 重大bug的实战教程也可以访问 https://www.itying.com/category-93-b0.html


框架确实没有清理tmp中的缓存文件,下个版本会优化此问题,不过系统也会在需要的时候自动清理tmp路径

在使用 uni-app 开发 iOS 应用时,可能会遇到 tmp 目录下的文件没有被自动清理的问题。这可能会导致应用占用的存储空间不断增加,最终影响设备的性能。以下是一些可能的原因和解决方案:

1. iOS 系统的 tmp 目录机制

  • iOS 系统的 tmp 目录是用于存储临时文件的,系统会在应用退出时自动清理该目录下的文件。然而,在某些情况下,系统可能不会立即清理这些文件,尤其是在应用崩溃或异常退出的情况下。

2. uni-app 的文件管理

  • uni-app 在处理文件时,可能会在 tmp 目录下生成一些临时文件。如果这些文件没有被正确清理,可能会导致存储空间占用问题。

3. 解决方案

  • 手动清理 tmp 目录:在应用启动或退出时,手动清理 tmp 目录下的文件。可以通过以下代码实现:
    const fs = uni.getFileSystemManager();
    fs.readdir({
      dirPath: `${wx.env.USER_DATA_PATH}/tmp`,
      success: (res) => {
        res.files.forEach(file => {
          fs.unlink({
            filePath: `${wx.env.USER_DATA_PATH}/tmp/${file}`,
            success: () => {
              console.log(`Deleted file: ${file}`);
            },
            fail: (err) => {
              console.error(`Failed to delete file: ${file}`, err);
            }
          });
        });
      },
      fail: (err) => {
        console.error('Failed to read tmp directory', err);
      }
    });
回到顶部