前几天终于找到了困扰我电脑卡顿一年多的元凶。这个问题从用 Sonoma 的时候就有,升级了 Sequoia 问题也没有改善。以为是 M1 性能不够了,结果换了 M4 问题还是没有解决。
我的具体情况是:
后来才发现,根源在苹果 Sonoma 系统中的一个新增功能——CursorUIViewService(光标附近的输入法切换指示器)。这个服务有时存在内存泄漏的 bug:我的电脑开机运行一两天后,其内存占用会飙升至 1GB 以上,并且无响应,导致系统变得极其卡顿。即便没有内存泄漏,每当输入焦点切换触发输入法变化时,系统都会短暂卡顿。
我的电脑安装了 Input Source Pro (一个控制不同应用默认输入法行为的 App ),其中设置了 Edge 的地址栏默认使用英文输入法。当系统当前处于非英文输入法状态时,打开 Edge 会触发输入法切换,这个切换过程同时触发了 CursorUIViewService 的输入法指示器状态更新,从而导致 Edge 卡顿。
我以前也想过可能是 CursorUIViewService 的问题,无响应的时候也手动杀过服务,但始终没想到和 Edge 之间有什么关系,这下破案了。
最后在网上找到了禁用 CursorUIViewService 的方法。通过以下代码彻底禁用后,电脑终于恢复流畅,再也没有卡顿问题。可以使用 Input Source Pro 自带的输入法指示器作为平替。
代码(运行后会立即重启系统):
sudo mkdir -p /Library/Preferences/FeatureFlags/Domain && sudo /usr/libexec/PlistBuddy -c "Add 'redesigned_text_cursor:Enabled' bool false" /Library/Preferences/FeatureFlags/Domain/UIKit.plist && sudo shutdown -r now
希望对有类似问题的朋友有所帮助!
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.