自从有了GN之后就在为系统发愁,最初是4.0.1OTA到了4.0.2,本来是满心欢喜,可怎奈4.0.2怎一个卡字了得......直到看了ROM区的帖子,方知与其苦等OTA莫不如天下之ROM任我刷,于是本人也就成了刷机控,开始尝遍了ROM区的几大经典ROM。要是我没记错的话我第一个XDA搬运贴是Codename 1.4的AOSP Full Open Source英文原版。从变成刷机控开始,我就经常看到AOSP与AOKP这两个词,当时没想到那么多,直到最近刷了AOKP B27,才更加深刻的对比了一下,发觉这里面其实还真有点故事,便写下此文,让更多的人了解里面的不同。如果因为本人才疏学浅,对某些内容给出了错误的解释,也希望各位谅解,并给出答案。另外,我会在本文最后把所有跟本文相关的资料做备注Reference,让大家相信我不是在断章取义。

第一章 什么是AOSP,什么又是AOKP

AOSP:Android Open Source Project  汉语意思是:谷歌开放源代码项目
     AOKP:Android Open Kang Project     汉语意思是:谷歌开源非官方代码项目(请参看注释1)
     如何更深一步解释这两者的区别呢?先说AOSP,谷歌每发布一个ROM,都会发布一个另外的ROM,来供开发者刷机实验。这个ROM就是AOSP了。他的发布者是谷歌自己(请参看注释2)。那么AOKP呢?这里我们不得不咬文嚼字一下下,因为英语其实可以算上是一门精确语言。大家应该注意到这个Kang了,如果字面翻译的话,很显然,就是非官方。可是还有一个更为正式的非官方用词,呵呵,对的,Unofficial!相信有人会问,两者有区别吗,都是非官方。下面我们来给出Kang的定义。
Kang是一个术语,用来表示一个被他人修改的ROM,但修改人本身并不属于该ROM开发团队或者被授权可以修改此ROM的人。打个比方,A重新编译了CM ROM,仅仅是将其改了两行然后就签名将其作为自己的作品,这种行为就是Kang,Kang是一种十分不令人赞同的行为!(请参考注释3)
至此,我们应该已经了解了AOSP和AOKP字面上的区别,下面我们再来看看两大ROM阵容中的的几个经典ROM对比

第二章 AOSP与AOKP的性能对比

既然是性能对比,我就只能拿具体的ROM来谈谈了。对比的是Codename1.4和AOKP B27。在对比之前我先说明,我这里做对比的Codename1.4是AOSP Full Open Source英文原版,并非大神的汉化版,如有不一样的地方,请各位谅解。两个ROM都刷过的人其实一下子就能看得出来,AOKP的小插件实在是丰富极了!光启动器就有两个,正常的AOKP启动器和Nova Launcher。个性化的UI、天气插件......可以说,AOKP B27真的是做到了高度融合各类Mod,来以此丰富用户体验。Codename 1.4相对简单,虽然也融合了部分插件,好比Clock、Battery等等,但是基本上保持了原版ROM的风格,甚至连开机动画都没有附上自己的签名。在这里,我要提出一个小细节,就是两者在进出抽屉时,Codename1.4明显要比AOKP快,甚至在打开设置进行修改时的反应,也要比AOKP稍好一点。也就是说,Codename1.4更加重视整体的流畅度,而非小插件等的多样性。
     应该说,这样的情况不止出现在Codename1.4上,用过近期在XDA上大火的CM9之后也能体会到这点!CM9也是相对比较忠于原版ROM,插件不多,速度很快。于是我们发现了一个很有意思的问题,似乎所有的AOSP在插件的运用上都比AOKP要少,但是整体的速度感都要较AOKP有提升,Codename1.4更是在修改了Drawer里面的设置之后在流畅程度上不输给IP4s。说到这里还是得回到AOSP和AOKP的制作方上。由于AOSP的发布者其实是谷歌,所以在运行流畅度方面做出了很大的提升,因为大家都知道,Apple一直以来都在拿Android流畅度方面说事,而谷歌也一直拿IOS系统的伪后台说事。其实谷歌一直以来都在努力的去提升自身的流畅度,ICS比GingerBread在这方面就提升了不是,这也影响到了谷歌发布的AOSP,在不影响优秀的多任务处理同时将流畅度排在了前面、插件等自定义排在了后面。反观AOKP,则是将两者对调,更重视个性化修改,但也正是因为这种考虑,导致了系统在运行速度方面相对AOSP处于劣势。
     也许有人会说,“这不是放屁吗,谷歌系统就是卡,但是我多任务处理就是牛!卡就卡呗~”好吧,如果您把这种东西当做是对GN的恭维的话,我却把它看做是对GN最大的侮辱!GN真的缺少很多功能性的东西吗?大家经常说,GN4.0.2原生ROM之所以不好用就是流畅度太差,而谷歌又没有对此进行维护和优化,其实谷歌在就背地里早就放出了4.0.3的AOSP,让众多被授权ROM开放组广开思路进行优化,所以才会有CM及Codename。所以拿GN天生卡顿来说事根本就是在自己骗自己,在重视系统体验的年代,没人会对一个卡顿的系统说爱!    对于耗电量方面,个人认为两者不分伯仲,因为AOSP将电流放在了运行流畅度上,而AOKP则是把电量放在了维持各类小插件、各类小设置上面,因此两者在这个方面是棋逢对手。其实凡是看过电池选项的人就能发现,真正耗电的是屏幕,AOSP由于运行速度快反倒是能够让屏幕每次亮的时间更短,而AOKP则是更多的放在了屏幕什么时候亮,怎么能少量,减少屏幕亮的次数。所以,两者在这个方面真的分不出上下!

第三章 我对两者的看法

如果说要我对AOSP下个比喻的话,我说他是不添加任何多余物质的本地产原味酸奶,保鲜第一,味道不差,最重要的是没什么防腐剂。而AOKP更像是有多种口味的酸奶,味道多多,但是含了不少的色素和阿斯巴甜、山梨酸钾等防腐剂。当然,仁者见仁智者见智,有些人追求简单的畅快,有些人则喜欢十足的变化。

结尾

我不是想去黑哪一方,因为无论哪一方都对GN的发展做出了贡献,所以也请看过帖子之后的各位嘴上积德!本帖仅仅是阐述本人自己对于AOSP和AOKP两大ROM阵营的看法,如有疏漏,还请回帖说明,敬请谅解~~~

关于AOSP 与AOKP相关推荐

  1. 【OSX】build AOSP 2.3.7时的build error解决

    原始的error log: 1 ============================================ 2 PLATFORM_VERSION_CODENAME=REL 3 PLATF ...

  2. 解决: AOSP 编译AndroidQ preview 失败

    拉了网上最新的AOSP 代码,编译结果报错:如下图 LLFAILED: /media/caoxinyu/TomasYu/out-x86/Out_Q/soong/build.ninja /media/c ...

  3. (AOSP)repo checkout指定版本

    aosp 怎么切换分支? To properly switch Android version, all you need to change is branch for your manifest ...

  4. Android AOSP 编译sdk

    首先你要有AOSP 工程. 然后执行下面的命令编译sdk. //运行下面的命令得到编译环境 source build/envsetup.shlunch sdkmake sdk 最后文件输出在哪个位置会 ...

  5. Android AOSP 单独编译某一模块

    由于AOSP 项目太大,我只修改了一个模块,比如设置. 那么只需要单独编译设置这个模块就可以了. 首先执行Source: source build/envsetup.sh 执行之后,就会有一些额外的命 ...

  6. Ubentu编译Android源码(AOSP)

    前言: 一直想要编译一下Android 源码,之前去google 看,下载要下载repo. 当时很懵逼,repo 是个什么?(repo 是一个python 脚本,因为Android 源码git 仓库太 ...

  7. 第二期 AOSP 环境搭建、下载和编译 《手机就是开发板》遇到问题解决

    第二期 AOSP 环境搭建.下载和编译 <手机就是开发板>遇到问题 编译通过,庆祝一下: 编译时需要注意事项 清华大学软件镜像站:repo从这里下载 https://mirror.tuna ...

  8. 【Android 逆向】ART 脱壳 ( dex2oat 脱壳 | aosp 中搜索 dex2oat 源码 | dex2oat.cc#main 主函数源码 )

    文章目录 前言 一.搜索 dex2oat 源码 二.dex2oat.cc#main 主函数源码 前言 在 [Android 逆向]ART 脱壳 ( DexClassLoader 脱壳 | exec_u ...

  9. Google Apps – Framework, Phonesky, GmsCore w/ AOSP Build.

    Useful links: Android.mk File syntax specification AOSPforNexus5 ---------– 1.) The purpose of this ...

  10. AOSP 源码整编单编

    <AOSP 源码下载>完成后,就可以开编了. 整编 整编,顾名思义就是编译整个 Android 源码,最终 out 目录会生成几个重要的镜像文件,其中有 system.img.userda ...

最新文章

  1. url参数解析 url解析 ?解析成对象
  2. puppet开源的软件自动化配置和部署工具——本质就是CS,服务端统一管理配置...
  3. python编程培训-课程:尹会生的Python编程培训课程
  4. 输入网址后发生了什么
  5. 如何通过TRAMP / Emacs远程控制nrepl-ritz-jack-in工作
  6. CocurrentHashMap和Hashtable的区别
  7. text无法使用空格 unity_简单的介绍几种在unity中对数据的存储和读档的方法!
  8. 高中计算机会考操作题网页制作,高中信息技术会考网页制作操作知识点Word
  9. 花书笔记2——线性代数 线性组合Ax = b的解 线性相关/线性无关 举例说明 简单易懂
  10. 4大MQ消息队列的比较
  11. 怎样设定目标(一)目标金字塔
  12. 电脑上可贴至桌面显示的便签软件
  13. 编写一个程序,完成字符大小写的转换。
  14. 从.weights中提取权重数据
  15. 进入黑客的世界:Kali Linux 中的 Metasploit 渗透测试利器
  16. 利用java统计每天用户升级手机App信息
  17. Whitelabel Error Page并且报500
  18. 10第六章:【01】常用指令-帮助指令
  19. 更新数据update
  20. PaddleSpeech TTS 设计要素 — 训练组件

热门文章

  1. 怎么让蜘蛛喜欢你的网站
  2. 对话系统简介与OPPO小布助手的工程实践
  3. 爱思服务器能不能更新苹果手机系统,苹果手机系统升级带来的利和弊,你知道多少?...
  4. JAVA (Graphics2D)解决合成图片失真问题
  5. java将日期转化为周几_关于java中时间和周几转换的小小工具
  6. APP推广重点渠道解析及我这些年踩过的坑
  7. Acdream 1729 Crime
  8. python里面and和or用法
  9. matplotlib用Times New Roman且不加粗
  10. YUV420P与YUVJ420P