From 93a7856d7e43db1221221f5e5eec69f5221a41f3 Mon Sep 17 00:00:00 2001 From: jun <215613905@qq.com> Date: Wed, 16 Apr 2025 00:28:15 +0800 Subject: [PATCH] fix AdCounts; --- app/src/main/java/com/github/tvbox/osc/util/M3u8.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/github/tvbox/osc/util/M3u8.java b/app/src/main/java/com/github/tvbox/osc/util/M3u8.java index 2363c3c2..89c22524 100644 --- a/app/src/main/java/com/github/tvbox/osc/util/M3u8.java +++ b/app/src/main/java/com/github/tvbox/osc/util/M3u8.java @@ -234,8 +234,17 @@ public class M3u8 { return scan ? scan(line, ads) : line; } + private static final Map patternCache = new HashMap<>(); + private static Pattern getPattern(String regex) { + Pattern pattern = patternCache.get(regex); + if (pattern == null) { + pattern = Pattern.compile(regex); + patternCache.put(regex, pattern); + } + return pattern; + } private static String scanAd(String line,String TAG_AD) { - Matcher m1 = Pattern.compile(TAG_AD).matcher(line); + Matcher m1 = getPattern(TAG_AD).matcher(line); List needRemoveAd = new ArrayList<>(); while (m1.find()) { String group = m1.group();