内容提要
作者清理旧Fire TV系统释放1.9GB存储,并开发开源DLNA投屏接收器LeanCast,无广告、免登录,支持硬件解码和电视原生操控,安装包仅5MB,内存占用低于系统桌面,已在Fire TV实测通过并修复索尼电视兼容问题。
延伸解读
老电视减负:清理比换机更实际
作者通过卸载预装软件、清理残留和缓存,将Fire TV存储占用从3.8GB降至1.9GB,可用空间从63%升至81%,同时禁用遥测和限制后台驻留,可用内存从347MB增至660MB。这说明对配置较低的老设备,系统精简能带来可感知的流畅度提升,但操作涉及开发者模式和系统组件,普通用户需谨慎评估风险。
LeanCast的定位:无广告的局域网投屏
LeanCast基于DLNA/UPnP协议,手机视频App的投屏按钮可直接发现并播放,全程局域网通信,无广告、免登录。它使用Media3/ExoPlayer实现硬件解码,支持HLS、MP4/MKV等格式,并提供电视原生进度条和长按快进。与商业投屏App相比,它省去了开机和等待广告,但功能聚焦于接收投屏,不提供内容聚合。
资源占用实测:比系统桌面还轻
在1.6GB内存的Fire TV上,LeanCast空闲时PSS为63–72MB,播放1080p时约74MB,安装包仅5MB,数据小于0.1MB。作为对比,Fire TV自带桌面占用83MB。这意味着在老设备上安装LeanCast不会明显挤占内存,适合与系统桌面共存,但数据仅来自单一设备实测,其他硬件上的表现可能不同。
兼容性边界与社区反馈价值
LeanCast目前仅在Fire TV实机验证,理论上支持认证Android TV/Google TV、NVIDIA Shield及Amlogic/Rockchip盒子,对允许安装第三方应用的国产电视属实验性,不支持三星Tizen、LG webOS和华为鸿蒙。索尼电视用户反馈的有声无画问题已定位为时序竞态并在v0.2.1修复,但尚待验证。这提醒读者:非Fire TV设备需做好遇到兼容问题的准备,开源反馈是完善支持矩阵的关键。
Q&A
LeanCast 是什么?它主要解决什么问题?
LeanCast 是一个开源的 DLNA/UPnP 投屏接收器,运行在电视或盒子上。它主要解决智能电视投屏时依赖臃肿 App、有广告或需要会员的问题,让手机视频 App 的投屏按钮能直接投到电视,无广告、免登录、仅局域网通信。
LeanCast 支持哪些投屏协议和视频格式?
LeanCast 完整实现 UPnP AV MediaRenderer 标准协议,支持 B 站、腾讯、优酷、爱奇艺、央视频、夸克等 App 的投屏按钮。基于 Media3/ExoPlayer 硬件解码,支持 HLS、MP4/MKV、FLV(尽力),并支持 4K 硬解。
LeanCast 的资源占用情况如何?对老电视友好吗?
LeanCast 安装包仅 5MB,数据小于 0.1MB。空闲待命时内存约 63–72 MB(私有约 33 MB),CPU 约 0%;播放 1080p 时内存约 74 MB,全机 CPU 约 4–5%。作为对比,Fire TV 自带桌面就要 83MB,LeanCast 比系统桌面还省资源。
LeanCast 在哪些设备上可以运行?有哪些限制?
LeanCast 是纯 Kotlin、无原生库的 APK,minSdk 21(Android 5.0),一个安装包通吃 32/64 位。预期兼容认证 Android TV/Google TV(索尼、TCL、飞利浦)、NVIDIA Shield、Amlogic/Rockchip 盒子;实验性支持允许安装第三方应用的国产智能电视(MIUI TV、酷开、海信安卓机型);不支持三星 Tizen、LG webOS、华为智慧屏 HarmonyOS,因为没有安卓应用运行时。目前仅在 Fire TV 上实测通过。
作者是如何用 AI 完成 LeanCast 开发的?
作者将痛点和需求输出给 DeepSeek Harness,AI 负责编码、单元测试、真机测试,甚至自己通过局域网唤醒电视进行测试。作者负责提需求、验收和偶尔拍板,最终交付了 90 个单元测试、E2E 全绿的开源项目。
LeanCast 在索尼电视上遇到了什么问题?如何解决的?
一位索尼电视用户(Android 10)反馈投屏后只有声音没有画面。排查发现是时序竞态:性能好的电视上播放器实例创建比界面启动晚,视频画面没来得及挂载。修复已随 v0.2.1 发布,正在等待用户验证。
除了开发 LeanCast,作者还对旧 Fire TV 做了哪些优化?
作者通过卸载预装软件和系统组件、清理残留和缓存,释放了 1.9GB 存储,可用空间从 63% 涨到 81%。还禁用了后台遥测、营销推荐和强制 OTA,限制第三方应用后台驻留,可用内存从 347MB 涨到 660MB,并将全局动画从 1.0x 调到 0.5x,流畅度明显提升。