首页»版块 MagicOS MagicOS 【建议提案】优化OTA版本代码开发方式,减少升级后手机 ...

【建议提案】优化OTA版本代码开发方式,减少升级后手机发热、短暂卡顿

[复制帖子标题和链接]

2710

数码爱好者  LV8  发表于 前天 16:43 江苏 来自:荣耀Magic7 Pro

痛点

相信很多人都遇到过:手机刚更新MagicOS系统之后,接下来一段时间手机明显发热、耗电变快,偶尔还有卡顿。
这是因为升级重启后,系统会在后台做代码编译优化(AOT编译)。改动的系统代码越多,手机需要在后台重新编译的工作量就越大,CPU持续高负载,手机就容易发烫、临时性能下降,一般要静置一段时间才能恢复平稳。

荣耀目前已经用上了增量编译技术,手机升级之后,只会重新编译改动过的代码,没有改动的代码可以直接复用,已经减轻了不少压力。
我的想法是:能不能在开发新版本的时候,从源头减少代码改动量,进一步优化这个问题。

优化构想

在开发系统新版本的时候,尽量采用追加新增模块的思路:

1. 增加新功能时,尽量写全新独立的代码模块,尽量不去修改已经稳定、正常工作的旧代码。

2. 保持新旧版本之间大部分原有代码不变。没有改动的模块,编译好的文件就可以直接保留复用,不用手机本地重新编译。

3. 版本排期优化:把代码重合度高、大量代码片段相同的多个新功能,安排在同一期OTA里面上线。相同的公共代码只需要编译一次,多个功能一起共享复用,进一步减少整体编译工作量。

4. 分场景灵活执行,不强制一刀切:

- ✅ 新增功能的版本:优先用新增独立模块,少改动旧代码,并且同类、代码重合度高的功能集中一期发布,最大化复用已有编译结果;

- ❌ 安全补丁、漏洞修复、底层bug修复:这类为了保障安全,必须修改原有代码,不适用这条规则。

简单打个比方:
就像写文档,新增内容直接新建一页写,不去反复修改前面已经写好、没问题的段落。
同时,把很多重复素材的内容放在同一批新增,重复内容只需要处理一次,不用分多次反复校对,整体工作量大大降低。

可以带来的好处

1. OTA升级完成后,后台需要编译的代码变少,CPU负担降低,明显减轻升级后发热、耗电快、短暂卡顿的问题;

2. 缩短系统“后台优化”的等待时间,更新完手机可以更快恢复稳定流畅;

3. 纯软件层面优化,不需要改动任何硬件,可以通过调整开发规范、版本排期、编译脚本实现。
@MagicOS流畅橙子 @性能_阿勇 @MagicOS流畅李同学
建议投票
18 人已参与
支持
反对
您需要登录后才可以评论 登录 | 立即注册
简体中文 - China
快速回复 返回顶部 返回列表