如何将qq小窗口变大,如何把窗口变小

首页 > 实用技巧 > 作者:YD1662023-11-01 20:10:06

作者 | QQ 技术团队

策划 | Tina

背景

QQ 作为国民级应用,从互联网兴起就一直陪伴着大家,是很多用户刚接触互联网就开始使用的应用。而 QQ 桌面版最近一次技术架构升级还是在移动互联网兴起之前,在多年迭代过程中,QQ 桌面版也积累了不少技术债务,随着业务的发展和技术的进步,当前的架构已经无法很好支撑对 QQ 的发展了。在 2022 年初,我们下定决心对 QQ 进行全面的技术架构升级,对于这样一个国民级应用的重构,挑战无疑是巨大的。

新版桌面 QQ 自内测以来也受到许多热心网友和行业人士的关注,非常感谢大家在内测过程中提的各种有建设性的建议和反馈。其中,也有一小部分有开发背景的用户对我们采用 Electron 框架表达担心:高内存占用、超大安装包、启动缓慢等。究其原因还是担心新版本 QQ 资源占用大、体验变差,针对用户的担心,我们在内存上进行了专项优化,也取得了一些阶段性的进展,过程中也积累了不少经验,也借此机会分享给大家。

新版 QQ 在内存上的挑战主要表现在以下 4 个方面:

如何将qq小窗口变大,如何把窗口变小(1)

[Electron 窗口多进程]

如何将qq小窗口变大,如何把窗口变小(2)

[桌面端 QQ 整体架构]

在这篇文章中,我们将和大家分享新版 QQ 在内存优化方面的探索和阶段性优化进展。虽然本文的讨论主要集中在 Windows 平台,但由于 Electron 的跨平台特性,大部分优化措施也同样适用于 macOS 和 Linux 平台。

内存现状与目标

在着手优化之前,我们结合旧版 QQ 以及其他优秀的桌面应用,给新版 QQ 设定了优化目标:

第一阶段目标,单个进程内存 < 300M。早先因为没有腾出手处理内存问题,代码中存在一些泄漏。长时间挂机后比较容易出现单个进程超过 300M 的情况。我们在去年 9 月份系统地处理过一波内存问题,基本可以保证单个进程的内存占用 < 300M。

第二阶段目标,单进程 <100M,整体 < 300M。整体是指启动 QQ 聊天面板后,6 个进程内存占用之和。内存达标之后才允许交付新版 QQ Windows 版本:

如何将qq小窗口变大,如何把窗口变小(3)

[Windows 任务管理器的 QQ 内存占用详情]

这些进程会随着 QQ 的启动一直存在。我们重点看下这 3 类进程,这也是内存优化的大头:

设定了目标后,我们先对 QQ 的内存占用情况进行了摸底。我们从用户的角度出发,使用 Windows 任务管理器来观察 QQ 的内存占用情况。我们先从最简单的 “Hello World” 开始,看看 Electron 应用的最低内存需求是多少,以及上限在哪里。结果显示,只需要 68M,并没有达到传说中的几百 M 那么大。

然而,随着使用的深入,比如在 QQ 聊天场景中进行一些操作之后,主进程、GPU 进程和渲染进程三个进程的内存占用就已经达到了 600M。这意味着我们距离目标还有超过 50% 的优化空间。

如何将qq小窗口变大,如何把窗口变小(4)

首页 12345下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.