3191
- 收藏
- 点赞
- 分享
- 举报
安卓4.4只需512MB内存:都是逼出来的
安卓4.4 KitKat号称最少只需512MB系统内存即可流畅运行,某种程度上却是也做到了,相比之前的多次空口许诺着实令人惊喜,那么,Google是如何做到的呢?说来很有趣。发展至今,安卓系统在功能特性上已经很成熟了,Google也开始在4.x时代转向其他方面。Jelly Bean 4.1的时候,Google提出了“黄油工程”(Project Butter),目的是让安卓系统速度更快、更加可靠、减少崩溃。
完成这一阶段性目标后,Google又提出了新的“苗条工程”(Project Svelte),力图减少安卓的内存占用率,保证任何厂商的手机只要有512MB内存就能执行任何功能特性,而不必局限在古老的Gingerbread 2.3系统,最终成果就是KitKat 4.4。
安卓首席工程师Dave Burke开玩笑地说:“我首先做的工作是‘黄油工程’,让系统更加流畅。问题是,黄油是有重量的。接下来,‘苗条工程’就是要减肥。所以呢,迄今为止我对安卓的贡献基本上是零。”
那么,这个减法如何做到的呢?还得感谢Nexus 4。
Burke透露说:“‘苗条工程’的基本目标就是将内存需求降低到512MB。我们如何做到的呢?就是拿一部Nexus 4,让它运行在512MB上(原本是2GB)。”
接下来就是让KitKat运行在更低的分辨率,以及两个处理器核心上。为了让工程师们有更加身临其境的体验,他们都被迫使用精简版的Nexus 4,内存、分辨率、处理器核心和频率都被大大降低。
Burke说:“我们选择了qHD分辨率,也就是960×540,因为这是入门级智能手机的甜点。我们将处理器核心从四个降到两个。我们降低了运行频率,以及诸如此类的东西。这么说吧,我们一帮人都用着残废的手机。这很痛苦。”
这时候,Google的目标有四个:
1、精简系统体积。
2、降低Google Experience设备(也就是Nexus系列)上应用的内存占用。
3、修正内存较少时的应用交互、崩溃。
4、更好地监测应用的运行状态,使开发者可以更好地掌控应用的内存占用。——这被称为“ProcStats”(进程状态),是开发模式中的一个功能。
前两个就是借助那部残废版的Nexus 4完成的,而后两个让安卓可以更好地监视、处理应用的内存使用,比如一旦发现谁长时间使用大量内存,系统就会自动关闭它。
最终,安卓4.4实现了瘦身,可以在低配置平台上运行得更流畅,而且不但不会损失功能特性,还增加了不少新东西。
当然了,要注意第二条的前提,那就是仅限Nexus设备。换句话说,对于第三方安卓设备,Google仍旧是基本上无能为力的,特别是那些预装了大量应用的,安卓自己再怎么努力都是白费。
完成这一阶段性目标后,Google又提出了新的“苗条工程”(Project Svelte),力图减少安卓的内存占用率,保证任何厂商的手机只要有512MB内存就能执行任何功能特性,而不必局限在古老的Gingerbread 2.3系统,最终成果就是KitKat 4.4。
安卓首席工程师Dave Burke开玩笑地说:“我首先做的工作是‘黄油工程’,让系统更加流畅。问题是,黄油是有重量的。接下来,‘苗条工程’就是要减肥。所以呢,迄今为止我对安卓的贡献基本上是零。”
那么,这个减法如何做到的呢?还得感谢Nexus 4。
Burke透露说:“‘苗条工程’的基本目标就是将内存需求降低到512MB。我们如何做到的呢?就是拿一部Nexus 4,让它运行在512MB上(原本是2GB)。”
接下来就是让KitKat运行在更低的分辨率,以及两个处理器核心上。为了让工程师们有更加身临其境的体验,他们都被迫使用精简版的Nexus 4,内存、分辨率、处理器核心和频率都被大大降低。
Burke说:“我们选择了qHD分辨率,也就是960×540,因为这是入门级智能手机的甜点。我们将处理器核心从四个降到两个。我们降低了运行频率,以及诸如此类的东西。这么说吧,我们一帮人都用着残废的手机。这很痛苦。”
这时候,Google的目标有四个:
1、精简系统体积。
2、降低Google Experience设备(也就是Nexus系列)上应用的内存占用。
3、修正内存较少时的应用交互、崩溃。
4、更好地监测应用的运行状态,使开发者可以更好地掌控应用的内存占用。——这被称为“ProcStats”(进程状态),是开发模式中的一个功能。
前两个就是借助那部残废版的Nexus 4完成的,而后两个让安卓可以更好地监视、处理应用的内存使用,比如一旦发现谁长时间使用大量内存,系统就会自动关闭它。
最终,安卓4.4实现了瘦身,可以在低配置平台上运行得更流畅,而且不但不会损失功能特性,还增加了不少新东西。
当然了,要注意第二条的前提,那就是仅限Nexus设备。换句话说,对于第三方安卓设备,Google仍旧是基本上无能为力的,特别是那些预装了大量应用的,安卓自己再怎么努力都是白费。
我来回答
回答1个
时间排序
认可量排序
认可0
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币
Markdown 语法
- 加粗**内容**
- 斜体*内容*
- 删除线~~内容~~
- 引用> 引用内容
- 代码`代码`
- 代码块```编程语言↵代码```
- 链接[链接标题](url)
- 无序列表- 内容
- 有序列表1. 内容
- 缩进内容
- 图片![alt](url)
相关问答
-
2023-03-29 15:10:28
-
2023-09-25 17:03:52
-
2019-01-15 16:16:26
-
2018-03-13 18:32:48
-
2020-11-11 10:09:54
-
2020-04-17 16:24:01
-
2019-04-02 10:27:42
-
2015-08-19 21:45:26
-
12015-08-17 21:09:26
-
42015-10-14 18:49:25
-
32015-08-17 20:38:04
-
2014-02-23 16:17:57
-
2017-06-05 09:35:10
-
2015-08-17 19:45:57
-
2021-01-08 16:04:46
-
2015-08-07 21:22:46
-
2020-07-07 17:58:02
-
2020-12-04 15:25:40
-
2020-12-31 15:20:22
无更多相似问答 去提问
点击登录
-- 积分
-- E币
提问
—
收益
—
被采纳
—
我要提问
切换马甲
上一页
下一页
悬赏问答
-
50如何获取vpss chn的图像修改后发送至vo
-
5FPGA通过Bt1120传YUV422数据过来,vi接收不到数据——3516dv500
-
50SS928 运行PQtools 拼接 推到设备里有一半画面会异常
-
53536AV100的sample_vdec输出到CVBS显示
-
10海思板子mpp怎么在vi阶段改变视频数据尺寸
-
10HI3559AV100 多摄像头同步模式
-
9海思ss928单路摄像头vio中加入opencv处理并显示
-
10EB-RV1126-BC-191板子运行自己编码的程序
-
10求HI3519DV500_SDK_V2.0.1.1
-
5有偿求HI3516DV500 + OV5647驱动
举报反馈
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明
提醒
你的问题还没有最佳答案,是否结题,结题后将扣除20%的悬赏金
取消
确认
提醒
你的问题还没有最佳答案,是否结题,结题后将根据回答情况扣除相应悬赏金(1回答=1E币)
取消
确认