前言:
今天同学们对“css样式表不可能实现____功能”可能比较讲究,小伙伴们都需要分析一些“css样式表不可能实现____功能”的相关文章。那么小编在网上收集了一些有关“css样式表不可能实现____功能””的相关知识,希望看官们能喜欢,大家一起来了解一下吧!一直以来,Chrome 占用内存过高的问题似乎已经成了某种用户之间的共识:如果说「Chrome 是世界上最好用的浏览器」这个论断还会引发争议的话,那「Chrome 是世界上占用内存最多的浏览器」几乎能让所有 Chrome 用户迅速寻找到共同语言:只要你是 Chrome 重度用户,就一定能找到想要吐槽的某几个瞬间。
但在近日,一个在 Chrome 中存在了 11 年的组件,又让这一问题重新引发讨论:这次曝光出的并非关于 Chrome 本身的性能问题,而是在 macOS 系统中用于升级 Chrome 等 Google 应用的组件——Keystone。
这个问题一开始由著名的应用开发者 Loren Brichter 在 chromeisbad.com 发布:这个网站相当简单,所有的文字内容就是一个围绕 Loren 关于 Chrome 内存占用问题发现的新动态 —— 导致 macOS 版本的 Chrome 浏览器 CPU 占用率过高的自动更新程序 Keystone 的问题。
为什么是 Keystone?
Keystone 最早在 2009 被 Google 推送给 Google Earth macOS 版本的用户,作为 Chrome 以及更多 Google 系应用在 macOS 上安装时会自动同步安装的一个组件。
Keystone 会通过一个配置文件启动,实际运行作用还包括在 macOS 中帮助 Chrome 浏览器或是 Google Earth 等 Google 系应用自动更新以及上传崩溃报告给 Google。 Keystone 本身只会在用户安装 Chrome 等 Google 应用之后才会存在于 macOS 中,自然也不会在安装时告知用户已安装了这一自动更新程序,更谈不上拒绝安装。
关于这个问题其实包括《连线》杂志在内的不少科技媒体在 2009 年时就曾就此批判过 Google 所采用的强制安装且缺乏透明度的策略,但在过去的 11 年中,Keystone 都仍然以这种方式被下载到了数以亿计的 Mac 上。
Keystone 会以每 3623 秒为一个周期,不停地运行程序,而本次关于 Keystone 的问题也是 Loren 在测试中发现 Keystone 可能就是导致他的 MacBook Pro 16’’ 在运行时 WindowServer 进程以异常高的 CPU 占用率运行的原因,而且这个问题即使是在高配置的 Mac 设备上同样无法避免。
此外,Loren Brichter 在撰文中还声称:Keystone 会在 macOS 的活动监视器中「隐藏」自己的相关进程(目前相关描述已经被修改),并且即使用户在 macOS 中删除 Chrome 之后,也并不会同时卸载掉 Keystone 的相关运行文件。
这倒也并不是这个 Keystone 第一次被爆出存在会导致 Mac 运行异常的问题:2019 年,Keystone 组件就曾导致部分用户的 macOS 系统无法启动;此问题直接威胁到了所有禁用或关闭了 SIP (系统完整性保护)的 Mac。
关于 Keystone 的多次问题,也让 Keystone 早已是成为在爱好者之间臭名昭著的存在;Loren 自己也在关于本次 Keystone 再次爆出问题的介绍一开始的版本中使用了 malware(恶意软件)一词来代指 Keystone(后来被删除),足见 Keystone 已经是「名声在外」了。
如何卸载 Chrome
虽然目前关于 Keystone 的运行机制是否会真的导致 macOS 出现 CPU 占用率异常的问题 Google 并没有给出正式回复,但如果你在此之前已经有想要弃用 Chrome 或是选择其他浏览器作为主力浏览器的 话,那么这或许也是让你开始「出走 Chrome」的另一个契机。
但在此之前,如果 Chrome 已经是你最常用的浏览器环境,那么在删除之前备份好你的密码与书签也同样重要;同时为了解决 Keystone 目前疑似的 CPU 占用率过高的问题,也仍然需要你进一步删除系统中 Keystone 组件相关文件,才算得上是彻底解决问题的隐患所在。
备份数据
在这一问题上,Chrome 与 Google 本身都为用户提供了足够方便的「出口」供自行导出数据。在 Chrome 中,迁移书签与 Google 自动同步的账号密码,都可以在 Chrome 的设置中找到:前者可以通过输入 chrome://bookmarks/ 直接转到书签界面,点击右上角的三点图标便可以选择导出书签/导入书签等选项。点击导出之后,Chrome 会自动下载一个包括你所有书签信息的 html 文件。
而关于 Chrome 中自动保存的账户与密码,你可以通过输入 chrome://settings/passwords 转到的页面中,点击「已保存的密码」一栏右侧的三点图标,选择「导出」一项。同样会自动下载一个名为 Chrome Password 的 CSV 格式 Excel 表格。
彻底卸载 Keystone
在备份过用户数据之后,下一步就是卸载 Chrome 了:正如前面提到的,除了前往 Finder - 应用程序中选择 Chrome 删除之外,更重要的仍然是如何将 Keystone 的相关文件删除。
好在由于这也不是 Keystone 第一次会给 macOS 运行带来异常影响,不少用户也是身经百战,所以我们同样能找到不少帮助你彻底从 Mac 中删除 Keystone 组件的方法;Loren 同样也在 Chromeisbad.com 中贴出了一个彻底删除 Keystone 的方法:
首先在 /Applications 应用列表文件夹中,将 Chrome 直接删除。在底部应用栏呼出 Finder 菜单,点击前往资料夹选项,并输入 /Library 并确定来转到资源库。检查下列文件夹 LaunchAgents、LaunchDaemons、Application Support、Caches、Preferences。删除其中所有的 Google 文件夹,以及其他任何以 com.google…… 或是 com.google.keystone…… 开头命名的文件夹。再次呼出 Finder 菜单,点击前往资料夹选项,并输入 ~/Library 并确定(注意不是「~」)。检查下列文件夹: LaunchAgents、Application Support、Caches、Preferences。再次删除其中所有 Google 相关的文件夹:包括其他任何以 com.google…… 或是 com.google.keystone…… 开头命名的文件夹。最后,清理垃圾桶,重启 Mac。
至此,你已经彻底将 Keystone 与 Chrome 从你的 Mac 上删除了。
替代方案们
其实本次爆出的问题也并非 Chrome 本身所导致的性能问题,所以并不会波及到基于 Chromium 项目而来的更多浏览器替代选择;除了这些浏览器各自都有不同的主打卖点之外,由于 Keystone 组件并不是 Chromium 项目的一部分,所以除了 Chrome 之外其他基于 Chromium 而来的浏览器:比如微软的 Edge、或是 Brave 等选择都完全不会受本次问题的影响。
除了 Chromium 所衍生出的一系列浏览器之外,Firefox 与 Safari 同样也值得关注。
Microsoft Edge
众所周知,微软推出的 Microsoft Edge 浏览器(下文简称 Edge)在今年年初便开始测试采用 Chromium 内核的版本,并在过去一年中进行了多次大版本更新,除了让稳定版通道版本号也追上 Chrome 本家达到了 86 之外,也在加紧补完包括 PDF 阅读以及自带翻译等功能,以及 Microsoft 编辑器 等插件,在体验上也逐渐与 Chrome 拉开了距离。
从这个角度上,Edge 与 Chrome 的关系更像是共用一套动力系统(V8 引擎)的两台跑车,不同的厂商在调教风格与系统设计上都能做出更多独到的文章;但目前 Edge 也有部分在 Chrome 已经非常成熟的体验尚未加入:诸如利用账号系统实现但信息多平台同步在目前的版本中仍然无法实现。
如果你的 Mac 上仍然安装着 Chrome 的话,Edge 也会在获取许可之后,将 Chrome 中的插件、书签、密码乃至设置以及打开的选项卡直接同步到(笔者就在 Mac 上安装 Edge 时甚至还将当前 Chrome 上仍然在开启的标签页都直接同步打开在了 Edge 上)在众多「出走 Chrome」的选择中堪称最无缝的迁移体验,当然,对中国大陆的用户来讲,更加重要的一项优势自然是同步环境相对更方便的 Microsoft 365 账户同步系统,相对来讲也更加方便。
关联阅读
微软全新 Edge 浏览器正式上线,尝鲜前你应该了解这些事Chromium Edge 迁移指南:你可能会关心的 5 个问题特色功能悉数回归,Edge 81 稳定版亮点速览Stack
网页收纳也是浏览器的一大难点:不少浏览器重度用户,每天浏览器顶部标签栏都几乎不可避免地变成如下图的样子:
而 Stack 同样是一款基于 Chromium 开发的浏览器,但它的设计理念则是通过重新编排网页来提升效率:正如名称一样,Stack 弃用了 Chrome 等传统浏览器的顶部标签页栏,取而代之的是将每个打开的网页以合适的尺寸横向叠放,并在左侧以图标的方式收纳.
同时,Stack 还从界面设计上对 PWA 网页应用做的深度优化,让网页以 PWA 的样式显示,同时让同一片屏幕上容纳更多的网页并保持高效;Stack 本身也为一些本身并不支持 PWA 的网页做了类似的显示优化。
在浏览页面的收纳上,Stack 除了可以横向滑动选择网页之外,还能通过分组的方式来纵向切换网页,还引入了 Space 的分组概念,让浏览器可以同时运行多层,同时还能通过快捷键实现快速切换需要的页面;但整体设计都是围绕如何更好地管理更多网页、且不让网页降低使用效率为前提,整体风格与设计逻辑也与 macOS 本身的桌面有着异曲同工之处。
Brave
Brave 同样是基于 Chromium 开发而来,但主打的是更进一步的隐私保护:即在旨在解决各种网页无处不在的广告背后的广告追踪器,通过分析用户点击行为来构建用户模型导致的隐私泄露,从而降低使用体验。
Brave 所采取的策略则是全面替换掉网页中所有的广告并用自家平台中的广告取而代之,而用户可以通过观看 Brave 替换后的广告获得 Brave 基于区块链技术开发的代币,同时也可以使用同种代币来「打赏」用户希望支持的内容创作者与出版机构。
客观上讲,Brave 对于广告的屏蔽策略无疑是对现有的互联网广告业的强力挑战,Brave 也多次因为这种经营模式收到来自各大广告商以及 Google 的传票。
但作为用户而言,Brave 的此种模式的确能起到保护用户隐私的作用,同时阻止广告与跟踪程序也同样意味着能让我们「上网冲浪」体验更加快速:根据 Brave 在官网发布的测试数据来看:在移动端与 PC 端加载主流新闻网站时,Brave 的速度要比 Chrome、Safari 和 Firefox 快六倍。
除了广告追踪之外,Brave 还内建了许多我们非常熟悉的隐私保护服务:比如搜索引擎 DuckDuckGo 以及 Tor,同时也支持 Chrome 插件,如果你也希望在广告世代中为你的隐私保护做更多的话,Brave 可能是一个不错的 Chrome 替代选项。
Firefox
Firefox 也是一款著名且主打隐私保护的浏览器了,相比于 Chrome 最大的区别在于 Firefox 默认拦截了所有第三方跟踪性 Cookie,同时也会自动拦截广告跟踪器;Firefox 也一直在更多的实用功能上加入更多好料,在跨操作系统 / 平台的体验上同样也是浏览器中的第一梯队。
当然,对于更多用户来讲,Firefox 更加出名的可能还属于其高度可定制化:除了官方的主题之外,用户还可以通过插件、CSS 样式表、来实现更多的主题与自定义界面的选项;而且 Firefox Quantum 之后的版本也在性能上有了较大的改善,目前已经达到了与 Chrome 使用体验不相上下的程度。
关联阅读:用下面这些方法,为自己高度定制一个 Firefox 浏览器
Safari
对于 macOS 用户来讲,Safari 也一直是不容忽视的「备选方案」:毕竟无论你是否会去使用,它都会一直存在于 macOS 中。就体验上来讲,Safari 在 macOS 系统中的运行性能也是 Safari 相比 Chrome 的优势之一:根据 Apple 官方数据,在加载常用网站时,Safari 比 Chrome 运行速度快 50%,同时功耗更低;在视频观看续航上比 Chrome 和 Firefox 都多出了最高达 3 小时;同时在苹果生态中, Safari 的同步体验也比 Chrome 等浏览器要更好一点。
虽然在插件数量这一环,相比 Chromium 系浏览器一直显得有点底气不足,但至少苹果官方并非没有意识到这一短板:在今年 Big Sur 发布的同时,苹果也为 Safari 增加了对 WebExtensions API 与迁移工具的官方支持,方便开发者将自己的扩展迁移到 Safari 中。
安全性同样是一直以来 Safari 非常重视的内容,在今年 Safari 也在菜单栏新增了追踪拦截图标,供用户直接查看当前网站的追踪行为与阻截信息,同时还会在新增的「隐私权报告」模块中生成关于追踪拦截的周报供用户查看。
后记
最后,仍然需要指出的是,目前 macOS 版本 Chrome Keystone 组件会导致 CPU 占用率过高这一问题,虽然 Loren 也已经在网站中称 Google 团队也已经 注意到这一问题并开始介入研究,但截至本文截稿时都尚未给出可供参考的正式调查结论。此外包括 9to5Mac 等博客也对于这样的一个问题持怀疑态度,即使是 Loren 本人引入也多次修改相关技术细节的介绍,所以现在下定论仍为时尚早。
但就 Chrome 本身而言,如果你一直是 Chrome 用户、并出于各种原因在寻找替代产品的话,其实在 macOS 上,你能选择的还有很多,并且都相当值得去尝试。
你在用哪款浏览器?为什么?欢迎在评论区和我们进行讨论。
标签: #css样式表不可能实现____功能