轻量浏览器:Median Browser v2.1.9
一款面向 Android 的轻量浏览器,目标不是堆叠大量在线服务,而是在尽可能小的体积内,提供快速、稳定、可控的网页浏览体验。它基于设备自带的 Android System WebView,尽量复用系统已经提供的渲染、安全与媒体能力,把更多精力放在标签管理、隐私控制、下载、用户脚本和低内存设备适配上。百度网盘
https://pan.baidu.com/s/1n42uYrI0J_rim3F_gxfYXg?pwd=33sx
项目采用本地优先设计:书签、历史记录、站点设置、用户脚本、过滤规则和备份默认保存在用户自己的设备中,不依赖账号体系、云同步、广告 SDK 或分析 SDK。对于希望浏览器保持简单、透明、低占用,并愿意自行管理数据的用户,Median 提供了一套比普通 WebView 套壳更完整的浏览器功能。
Median 的核心取向是 快、稳、轻、可控:
[*]快:缩短网页请求热路径,按设备能力预热和保留 WebView,减少主线程同步 I/O。
[*]稳:针对低内存、renderer 崩溃、后台标签和下载中断设计恢复策略。
[*]轻:控制 APK 体积和常驻资源,不依赖大型第三方运行库。
[*]可控:广告过滤、第三方 Cookie、弹窗、脚本、兼容模式等均可按网站调整。
它适合以下用户:
[*]希望使用轻量浏览器,而不需要账号、推荐流或云服务的人;
[*]在意本地数据、隐私控制和源码可审计性的人;
[*]经常使用用户脚本、广告过滤、下载或多标签功能的人;
[*]使用 Android 8.0 及以上设备,希望浏览器在低内存环境下仍保持稳定的人。
Median 不是独立浏览器内核。网页兼容性、JavaScript 性能、媒体格式和安全补丁仍取决于设备上的 Android System WebView。项目的目标是在这一基础上,提供一个更完整、更轻量、更可控的浏览器外壳。
当前版本:2.1.9
最低系统:Android 8.0(API 26)
目标系统:Android 16(API 36)
Median 使用设备上的 Android System WebView。网页渲染能力、编解码器、部分网站兼容性和安全补丁取决于设备所安装的 WebView 版本。
核心能力
浏览与标签页
[*]多标签浏览、固定标签、标签冻结和会话恢复。
[*]书签、历史记录、站点设置及离线 MHTML 保存。
[*]阅读模式、系统朗读、翻译、页内查找和桌面模式。
[*]标签页根据设备内存分级保留,后台页面可冻结并按需重建。
隐私与安全
[*]广告过滤订阅、元素隐藏和常见跟踪参数清理。
[*]HTTPS Only、Safe Browsing、严格混合内容策略和站点级兼容模式。
[*]第三方 Cookie、弹窗、媒体自动播放等权限可按站点控制。
[*]独立进程隐私窗口;无法可靠隔离时不伪装成无痕模式。
[*]Android Keystore 密码库及加密完整备份。
[*]默认关闭危险的 file:// 跨域访问和不受控本地文件访问。
用户脚本
[*]支持用户脚本匹配、权限声明、菜单命令和受限 GM 网络请求。
[*]高权限能力要求显式 @grant,并使用随机令牌、来源校验和脚本匹配范围复核。
[*]跨域请求逐跳检查 @connect,阻止 HTTPS 降级及远程页面访问本机或私网地址。
[*]脚本值先更新内存并异步落盘,减少 UI 线程同步 I/O。
下载
[*]Median 内部单连接下载,不依赖 Android DownloadManager。
[*]支持断点续传、自动重试、真实进度、速度和预计剩余时间。
[*]保留 Cookie、User-Agent 和安全的 Referer 策略。
[*]自动识别最终文件名、MIME 类型和 APK 文件结构。
[*]下载索引合并写入,暂停、完成和失败状态立即保存。
性能调度
提供低功耗、标准和极限三档策略:
[*]WebView 预热和热标签数量按设备内存动态调整。
[*]当前页面 renderer 保持高优先级,后台页面主动降级或冻结。
[*]Android 12 及以上使用 Performance Hint API 提示主线程与 RenderThread 负载。
[*]极限档可启用“网络直通”,跳过 Median 广告请求扫描,缩短请求热路径;开启后广告和跟踪过滤会减弱。
[*]内存压力后暂时停止预热,避免低内存设备反复抖动。
个性化主页
[*]自定义标题、副标题、Logo、壁纸、搜索框和快捷网站。
[*]支持自定义文字配色、渐变、字距和本地 Logo 图片。
[*]支持受限自定义 CSS,以及无联网、无同源权限的本地 HTML 模式。
[*]用户图片保存在应用私有目录,不上传,也不嵌入 APK。
2.1.9 更新内容
[*]修复部分设备上标签卡片突然无法点击的问题。
[*]标签卡片直接处理点击和长按,不再依赖不稳定的 ListView.onItemClick()。
[*]关闭按钮不再抢占整行焦点。
[*]点击时根据标签对象重新定位索引,避免列表复用或标签变化造成位置失效。
本版本还包含以下快稳改进:
[*]网站级兼容模式及 HTTPS 加载失败后的安全重试提示。
[*]广告过滤状态缓存、按需读取请求头和可选媒体嗅探,减少请求热路径开销。
[*]Cookie 合并刷新和用户脚本数据异步写入。
[*]更保守的 WebView 预热时机和 renderer 崩溃恢复。
[*]后台任务拒绝时不再静默丢弃关键工作。
网站兼容性
Median 默认策略偏向隐私和安全,以下网站可能需要启用站点级兼容模式:
[*]仍依赖 HTTP 或混合内容的旧网站。
[*]依赖第三方 Cookie 的登录、支付或企业 SSO 页面。
[*]被广告规则误伤的脚本、验证码或跳转页面。
[*]依赖用户触发弹窗完成 OAuth 或支付授权的网站。
兼容模式只应对可信网站开启。Safe Browsing 和证书校验不应为追求兼容性而关闭。 思路很清晰,逻辑上也能自洽。 写得挺细致的,能看出是实操过的。 观点有依据,不是拍脑袋得出来的。 看完之后对这块的认识清晰了不少。 这类内容应该多一些,对新手很友好。 同意大部分观点,不过有一点想补充。 内容挺扎实的,不是那种拼凑出来的。 这篇值得慢慢看,我准备再读第二遍。 分析得挺到位,把关键因素都点出来了。