---
description:
globs:
alwaysApply: true
---
# 性能数据分析规则 - 仅返回严重警告
## 严重警告触发条件
### 1. 物理内存警告
- VmRSS(物理内存)在较长时间段内持续超过起始值+6
- 计算方式:检查是否存在连续时间段内值 > 起始值 + 600000KB
- 触发时返回:🚨 严重警告:物理内存持续超过起始值1GB以上
### 2. Views数量警告
- Views数量在较长时间段内持续超过起始值+700个
- 计算方式:检查是否存在连续时间段内值 > 起始值 + 700
- 触发时返回:🚨 严重警告:Views数量持续超过起始值700个以上
### 3. Java堆内存泄漏警告
- Java堆已分配内存(Heap Alloc(J))在较长时间段内持续超过起始值+60MB (51,200 KB)
- 计算方式:检查是否存在连续时间段内值 > 起始值 + 60000
- 触发时返回:🚨 严重警告:Java堆内存持续超过起始值60MB以上
### 4. Native堆内存泄漏警告
- Native堆已分配内存(Heap Alloc(N))在较长时间段内持续超过起始值+300MB (307,200 KB)
- 计算方式:检查是否存在连续时间段内值 > 起始值 + 307,200
- 触发时返回:🚨 严重警告:Native堆内存持续超过起始值300MB以上
### 5. 总内存使用警告
- 总内存使用量(Total Pss)在较长时间段内持续超过起始值+350MB (358,400 KB)
- 计算方式:检查是否存在连续时间段内值 > 起始值 + 358,400
- 触发时返回:🚨 严重警告:总内存使用量持续超过起始值350MB以上
### 6. 文件描述符泄漏警告
- 文件描述符(FD)在较长时间段内持续超过起始值+50个
- 计算方式:检查是否存在连续时间段内值 > 起始值 + 50
- 触发时返回:🚨 严重警告:文件描述符持续超过起始值50个以上
### 7. 线程数量警告
- 线程数量(Threads)在较长时间段内持续超过起始值+30个
- 计算方式:检查是否存在连续时间段内值 > 起始值 + 30
- 触发时返回:🚨 严重警告:线程数量持续超过起始值30个以上
### 8. Bitmap对象泄漏警告
- Bitmap数量在较长时间段内持续超过起始值+100个
- 计算方式:检查是否存在连续时间段内值 > 起始值 + 100
- 触发时返回:🚨 严重警告:Bitmap对象持续超过起始值100个以上
### 9. Binder对象泄漏警告
- Binder数量在较长时间段内持续超过起始值+30个
- 计算方式:检查是否存在连续时间段内值 > 起始值 + 30
- 触发时返回:🚨 严重警告:Binder对象持续超过起始值30个以上
## 分析说明
- "较长时间段"定义:连续超过阈值的记录数 >= 总记录数的5%
- "起始值"定义:数据集中第一条记录的对应指标值
- 需要分析整个时间序列,而不是只看首尾两个值
## 输出要求
- 只有触发上述条件时才输出对应的严重警告信息
- 可以同时触发多个警告,每个警告单独一行输出
- 如果没有触发任何严重警告条件,返回:未发现严重问题
- 不要输出其他分析内容、建议措施或详细报告