您现在的位置: 首页 > 网站导航收录 > 百科知识百科知识
android程序员有必要学习c++吗?
都是,应用层,内存android程序员有必要学习c++吗?
发布时间:2020-12-06加入收藏来源:互联网点击:
问题补充:
做了4年android,一直在做应用层。感觉遇到了瓶颈,不知道如何提高自己了。
面试的时候被问了很多关于jni的东西。所以想学c++,不知道方向是否正确。
各位大牛,对于学习c++,有没有什么好的建议?
回答于 2019-09-11 08:43:50
回答于 2019-09-11 08:43:50
题主做了4年的Android,全部都是应用层,我觉得只能说明一个问题:产品太简单。
一般用户量大一点的App,都会对性能、稳定性和优化提出更高的要求,同时面临着老代码包袱,多人协同等问题。在整个的项目周期中重构,新需求开发、技术预研并行,这对主工程的代码质量要求是非常高的。
在对于工程的优化和功能开发的过程中,很快就会感觉到应用层已经完成不够用。举个简单的例子,原来加载图片一般使用Universal-Image-Loader或者Picasso这些,但今年Facebook做的图片加载库:
facebook/fresco · GitHub
性能秒杀之前的所有图片库,在部分数据上甚至可以达到一个数量级的性能提升,那Facebook是怎么做到的?它使用了之前图片库没有使用过的匿名共享内存(Ashmem,Anonymous Shared Memory),这部分内存不在Android的GC范围之内,需要自己管理,但通过这种方式可以突破Android分配的堆内存限制,极大的提高效率,对于Ashmem的使用完全是通过C++实现,更别提很多核心算法,多媒体库等等都是用NDK做的。其实也不止C++,很多时候也要求助于Framework和架构重构。
归根到底只想说明一点,如果只是做个普通的Android码农,那Java够用;但如果你的理想比这个还要大一点,C++是你进阶的必备技能。
上一篇:能否送给专科生一句话?
下一篇:返回列表
相关链接 |
||
网友回复(共有 0 条回复) |