Baseflow / Baseflow/flutter_cache_manager

Custom Age Threshold On Cache Objects Over Capacity

Đang mở
#507 1 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
Dart
Star
809
Fork
510
Merge trung bình
6 phút
Pull request đã merge (30 ngày)
1

Mô tả

## 🏗 Enhancement Proposal

Allow configuring the age threshold used when cleaning up cache objects over capacity.

### Pitch

Currently, `getObjectsOverCapacity` uses a hardcoded `Duration(days: 1)` to filter which cached objects are eligible for removal during cleanup. This means objects touched within the last 24 hours are never removed, even if the cache exceeds its capacity.

This can be problematic in scenarios where:
- Apps have high cache turnover and need more aggressive cleanup (e.g., `Duration(hours: 6)`)
- Apps want to preserve recently accessed items for longer periods (e.g., `Duration(days: 7)`)
- The 1-day threshold doesn't align with the app's usage patterns

**Proposed solution:**

Add an optional `maxCapacityAgeFilterDuration` parameter to `Config` that allows developers to customize this threshold. The parameter defaults to `Duration(days: 1)` to maintain backward compatibility.

```dart
CacheManager(
Config(
'customCacheKey',
maxCapacityAgeFilterDuration: Duration(hours: 12), // Only remove items untouched for 12+ hours
),
);
```

This gives developers fine-grained control over cache eviction behavior without changing the default experience.

### Platforms affected (mark all that apply)
- [x] :iphone: iOS
- [x] :robot: Android

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Xác định Config và getObjectsOverCapacity, sau đó theo dõi nơi Duration một ngày được hardcode được sử dụng trong quá trình dọn dẹp. Thêm Duration tùy chọn nhưng vẫn giữ giá trị mặc định là một ngày, hỗ trợ các giá trị tùy chỉnh như 12 giờ và xác minh rằng việc dọn dẹp bộ nhớ đệm vẫn tuân theo ngưỡng đã cấu hình.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
dart, flutter
Lĩnh vực
mobile
Loại issue
Tính năng
Độ khó
2/5
Thời gian dự kiến
1-3 giờ
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
48/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.