From 25ac86fe6a8d26dddd41ba7b4a276e6309b1afad Mon Sep 17 00:00:00 2001
From: Dana <Dana_Lee1016@126.com>
Date: 星期三, 03 十二月 2025 14:49:31 +0800
Subject: [PATCH] 1.sdcard/android/data/包名/files下的h264文件,超过五天删除掉
---
app/src/main/java/com/anyun/h264/H264EncodeService.java | 39 +++++++++++++++++++++++++++++++++++++++
1 files changed, 39 insertions(+), 0 deletions(-)
diff --git a/app/src/main/java/com/anyun/h264/H264EncodeService.java b/app/src/main/java/com/anyun/h264/H264EncodeService.java
index 5d9c404..bbdb554 100644
--- a/app/src/main/java/com/anyun/h264/H264EncodeService.java
+++ b/app/src/main/java/com/anyun/h264/H264EncodeService.java
@@ -36,6 +36,7 @@
private H264FileTransmitter h264FileTransmitter; // H264鏂囦欢浼犺緭鍣�
private String outputFileDirectory; // H264鏂囦欢杈撳嚭鐩綍
private WatermarkInfo currentWatermarkInfo; // 褰撳墠姘村嵃淇℃伅
+ private static final int H264_FILE_RETENTION_DAYS = 5; // 鍙牴鎹渶姹傝皟鏁翠负3鎴�5澶�
// 澶氳繘绋嬫敮鎸侊細绗簩涓憚鍍忓ご鐨勬湇鍔¤繛鎺�
private IH264EncodeService camera2Service;
@@ -78,6 +79,9 @@
// 鍒濆鍖栬緭鍑烘枃浠剁洰褰曪紙浣跨敤搴旂敤澶栭儴瀛樺偍鐩綍锛�
outputFileDirectory = getExternalFilesDir(null).getAbsolutePath();
Timber.d("Output file directory: %s", outputFileDirectory);
+
+ // 娓呯悊杩囨湡鐨凥264鏂囦欢
+ cleanupExpiredH264Files(H264_FILE_RETENTION_DAYS);
}
@Override
@@ -793,6 +797,41 @@
currentWatermarkInfo = null;
}
}
+
+ /**
+ * 鍒犻櫎瓒呰繃淇濈暀鏈熺殑H264鏂囦欢
+ */
+ private void cleanupExpiredH264Files(int retentionDays) {
+ if (outputFileDirectory == null) {
+ Timber.w("cleanupExpiredH264Files: outputFileDirectory is null");
+ return;
+ }
+
+ File dir = new File(outputFileDirectory);
+ if (!dir.exists() || !dir.isDirectory()) {
+ Timber.w("cleanupExpiredH264Files: directory invalid -> %s", outputFileDirectory);
+ return;
+ }
+
+ long retentionMillis = TimeUnit.DAYS.toMillis(Math.max(1, retentionDays));
+ long cutoffTime = System.currentTimeMillis() - retentionMillis;
+
+ File[] files = dir.listFiles((d, name) -> name.toLowerCase(Locale.CHINA).endsWith(".h264"));
+ if (files == null || files.length == 0) {
+ return;
+ }
+
+ for (File file : files) {
+ if (file.lastModified() < cutoffTime) {
+ boolean deleted = file.delete();
+ if (deleted) {
+ Timber.i("Deleted expired H264 file: %s", file.getAbsolutePath());
+ } else {
+ Timber.w("Failed to delete expired H264 file: %s", file.getAbsolutePath());
+ }
+ }
+ }
+ }
/**
* 浠庢枃浠跺垱寤鸿祫婧愪俊鎭紙濡傛灉鏂囦欢鍦ㄦ椂闂磋寖鍥村唴锛�
--
Gitblit v1.8.0