最后
题外话,我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在IT学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多程序员朋友无法获得正确的资料得到学习提升,故此将并将重要的Android进阶资料包括自定义view、性能优化、MVC与MVP与MVVM三大框架的区别、NDK技术、阿里面试题精编汇总、常见源码分析等学习资料。
【Android思维脑图(技能树)】
知识不体系?这里还有整理出来的Android进阶学习的思维脑图,给大家参考一个方向。
【Android进阶学习视频】、【全套Android面试秘籍】
希望我能够用我的力量帮助更多迷茫、困惑的朋友们,帮助大家在IT道路上学习和发展
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
这种问题当然是否定的。原生 Android(指的是直接基于 AOSP 构建的而非手机厂商出厂固件修改的第三方 ROM,但包括 Nexus/Pixel 或其它被 Google 直接支持的手机的可能是闭源的出厂固件)对于适合的人而言是无可替代的,当前几乎无任何定制 ROM 就与之相比。但是对于更多的中国用户而言,他们从一开始就使用的是定制系统,已经习惯了那一套逻辑和对系统的认知,所以定制系统是更好的选择(但您们最好祈祷一下手机厂商的 ROM 不要越来越不要脸)。
当然,对我而言…… 因为我是开发者,不是普通用户。哪个更适合自然不言而喻。
因为有Google Play,所以应用都是纯净的?
这句话就纯属彻头彻尾的误解了:
- 有 Google Play 跟系统是不是原生没有关系
- Play 商店中的应用普遍要老实一些(特别是国内厂商的应用),但这之间的差异并不表示“纯净”和“非纯净”。相反,Google Play 既然叫商店是因为有付费的“商品”,而免费软件是如何盈利的?当然是靠广告。包含广告是明确允许而且会被标注出来的,你确定当你用了一个满是广告的应用还觉得是你定义的“纯净”?
我自己有一个 HTC U11 的原生系 ROM 的交流群,HTC 做手机越来越不行了,系统也几乎不更新了。但是 U11 有开源的 ROM 社区的支持,一路从 7.1.2 走到最新的 Android 9.0。有 EAS 调度的内核,能兼容的 Google 相机,方方面面。如果哪一天给 U11 影响最大的开源 ROM 团队 SlimRoms 倒下了,那就是我换机的日子。
我经常看到一些人喷一些“伪极客”用原生系统怎样怎样的,然后就以此作为观点来证明定制系统是更好的,原生系统“很糟糕”。或者“伪极客”反过来证明定制系统垃圾之类的,这些当然是莫名其妙的。但我很少去批判这些人的言论和行为,相反他们的很多言论都是看了专业的内容而理解不到位得来的,虽然总是千篇一律的“陈腔滥调”的夸赞或贬低手段。
无论是吹捧还是贬低原生 Android 的业余“伪极客”,我一般认为他们更能接近普通用户的实际情况,所以他们的言论还是有价值的。当然,是绝对不能当做对任何系统的真实认知的。
最后,上一张图吧:
UPDATE-1(更新一):
这个问题火了连带着这些天我的回答被疯狂点赞。实在是惭愧,我其实并没有说什么有价值的东西,我就是想表达一句话:“适合自己的才是最好的”。在我看来,会问“原生哪里好”的人基本就是不需要原生系统的人。
我觉得让我去写原生系统应该怎么用舒服,不适合这个问题的主旨。我基本浏览了下其它的一些新回答,我就在这里澄清一些误解好了:
原生系统好用是因为 Google 全家桶?
关于原生系统和 Google 全家桶的关系,我其实最初就提到了:
有 Google Play 跟系统是不是原生没有关系
因为只有这一句话,没有引起重视。然后我不断的看到更多的人说「原生好用因为有 Google 全家桶」。再强调一次,这纯粹是一个误解,其实国外的手机大多都内置 Google 的。前不久知乎还讨论过 Google 对欧洲 Android 收费,收的什么费用呢?你可以看这个回答。那么是不是所有手机都内置 GMS(即你们说的全家桶)呢?你可以看这个回答。第二个回答我解释了 GMS 是什么,什么情况下会被内置到手机系统中,以及为什么国产系统不内置(或者不能用),还包括厂商若想内置 GMS 如何获得授权。
需要指出的是:AOSP 自身不仅不能内置 Google 家的应用,还不能内置任何提供云服务的应用。记住 GMS 是 Google 专有的东西,原生不表示包含 GMS,更无法表示只能在原生上体验“全家桶”,因为包含 GMS 的手机系统是很常见的。Google 的手机(Pixel/Nexus)的系统是闭源的 AOSP 构建 + 专有的 GMS,所以它仍然是原生而非定制(被 Google 直接支持的手机也是一样的)。
原生系统很耗电?
我不太清楚为什么有很多人产生了这种误解,我也懒得去追溯来源。我普遍看到的一种说法是「原生 Android 在国内连接不上 Google,频繁尝试连接,会很耗电」。这一部分我们不纠结原生系统一定就是内置了 Google 的(默认就当内置了),那么是不是这样呢?
其实这个说法只对了一半,他们把成因找出来了,安装了 GMS 的手机连不上 Google 的确会耗电。但主要原因并不是频繁的网络连接导致本身,毕竟区区的尝试连接这种网络活动是无法造成明显耗电的。连不上 GMS 会耗电的真正原因是跟 Android 的系统休眠机制相关的,频繁的重连 Google 服务会影响手机的休眠,导致手机无法进入深度睡眠状态,待机就显得特别耗电**。**
最后
如果你看到了这里,觉得文章写得不错就给个赞呗?如果你觉得那里值得改进的,请给我留言。一定会认真查询,修正不足。谢谢。
最后针对Android程序员,我这边给大家整理了一些资料,包括不限于高级UI、性能优化、移动架构师、NDK、混合式开发(ReactNative+Weex)微信小程序、Flutter等全方面的Android进阶实践技术;希望能帮助到大家,也节省大家在网上搜索资料的时间来学习,也可以分享动态给身边好友一起学习!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**