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);
      }
    });
回到顶部