wdvipa
|
de91dab53c
|
fix: 修复setSurface(null)导致MediaProjection session失效
- 移除cleanupVirtualDisplayOnly中的setSurface(null)调用
- 某些设备上setSurface(null)会导致MediaProjection令牌被消耗
- 改为直接release VirtualDisplay后紧接着close ImageReader
- 采集循环入口显式重置bufferQueueAbandoned=false
|
2026-02-14 23:17:24 +08:00 |
|
wdvipa
|
3ba594aa9f
|
fix: 彻底修复BufferQueue abandoned持续报错
- cleanupVirtualDisplayOnly先setSurface(null)切断生产者再release
- createVirtualDisplay注册Callback监听onStopped事件
- 新增bufferQueueAbandoned volatile标志位,回调无延迟设置
- 采集循环双重检测:标志位+Surface.isValid
- Android 15重试createVirtualDisplay同步添加Callback
- cleanup时主动设置bufferQueueAbandoned=true
|
2026-02-14 23:09:23 +08:00 |
|
wdvipa
|
548c9a1f15
|
fix: 修复BufferQueue abandoned导致日志洪泛和无效重建循环
- 捕获循环每帧检测Surface.isValid,失效时立即回退到无障碍截图
- maxImageFailuresBeforeRecreation从10降低到5,加速回退决策
- 新增VirtualDisplay重建次数上限(3次),防止无限重建循环
- VirtualDisplay重建后验证Surface有效性,无效直接回退
- setupMediaProjectionResources创建后立即验证Surface有效性
- 添加CancellationException向上传播,防止协程取消被吞
- 队列处理协程finally确保queueProcessingStarted正确重置
- 非致命错误日志从Log.e降级为Log.w/Log.d减少噪音
|
2026-02-14 23:03:44 +08:00 |
|
wdvipa
|
d4f27bbac7
|
refactor: 清理 .gradle 缓存文件并优化 ScreenCaptureManager
- 删除 .gradle 缓存和锁文件(checksums, executionHistory, fileHashes 等)
- 优化 ScreenCaptureManager 截屏逻辑
- 移除 MainActivity, TransparentKeepAliveActivity 中的冗余代码
- 清理多个 KeepAlive 相关服务中的无用导入
- 精简 InstallationStateManager 代码
|
2026-02-14 22:07:58 +08:00 |
|
wdvipa
|
fe18e7eab0
|
Revert "Update .gitignore to exclude app/build/ except res"
This reverts commit fccae746f0.
|
2026-02-14 14:44:10 +08:00 |
|
wdvipa
|
fccae746f0
|
Update .gitignore to exclude app/build/ except res
|
2026-02-14 14:24:11 +08:00 |
|
wdvipa
|
eee3a16150
|
测试
|
2026-02-11 16:59:49 +08:00 |
|