日趋饱和的Android程序员行业,这一行在未来究竟会发展成什么样子,又有多少发展潜力呢?

前言

对于这一整个行业来说,每个人都会有不同的看法,关于Android的兴衰,以及在日后Android的发展都是各有各的看法的,像这种吃技术饭的行业,当然要到一定的高度才能看到这一整个行业的发展前途,所以,在下面的文章中,我挑选了几个行业内的知名角色的看法观点作为依据。

第一位大佬是某一流大学计算机教师

平心而论, Android的竞争对手只有一个,苹果的IOS。近两年,硬件方面,苹果手机市场不断被安卓智能机蚕食,华为,OPPO。。。。哪一个是好惹的主。软件方面,微信小程序横空出世,苹果逼停微信赞赏,明争暗斗已经展开。

从现实来看,不管从软件还是硬件方面,苹果都面临着中国本地企业强有力的竞争。

Android,硬件方面各国产手机拼命在竞争中低端市场,特别是印度手机份额的市场可以说完全被国内 Android机型所霸占。软件方面,安卓应用商店不仅多而杂,而且乱。在用户体验方面与苹果APPStore也有明显差距。

如果国内 Android想击败苹果的话,不仅是硬件方面的绝一死战,更要在软件方面发力,毕竟移动互联网顶层话语权,还是掌握在自己人手上比较合适。

短期内还看不到 Android有任何落败的迹象,反而是IOS,苹果一家独大的局面将会受到一波又一波的冲击。

这位大佬的回答其实是比较贴近现实的,但是为什么Android会发展到和IOS一争天下的地步呢?原因很简单,给大家几个说几个先辈:
塞班为什么死了?因为没开源。
WM 为什么死了?因为没开源。
WP 为什么死了?因为没开源。
iOS...

虽然不希望,但不出意外,还是会符合历史进程。

第二位大佬是图灵Don(这个就不用我多做介绍了吧)

操作系统势力更迭,要看硬件设备。哪种硬件设备使用人数更多,对人影响更大。

以前PC、笔记本使用人数多,Windows势力大,盖茨封神。现在智能手机用户量超过PC笔记本,Android和iOS崛起。

考察所有在用设备,根据互联网监测公司Statcounter的数据,Android已经超过Windows成为用户最常用的操作系统。

所以长江后浪推前浪。前浪是微软,这后浪是谷歌。

还没完,螳螂捕蝉黄雀在后。如果谷歌是螳螂,黄雀又会是谁呢?

要看下一代设备会是VR、音箱、汽车还是机器人。如果有30亿人使用VR设备,VR操作系统自然势不可阻。对于音箱、汽车、机器人类似,哪种设备使用人数多,搭载其上的操作系统自然称王。

站在2021年这个时点,都看不清。等等,2030年就明显了。

技术的更新迭代是相对于一些传统行业来说是极快的,对于Android这一行来说,该行业已经度过了一个迅速增长的时期,已经到了一个平稳发展的时期,对于移动端已经能和IOS二分天下了,现在更多的方向是横向,或许会出现各种搭载安卓系统的冰箱、洗衣机、空调、微波炉、马桶等等,如果真是这样,那安卓在民用领域的影响力甚至可能会超过windows。但ios要是不开源的话,它依然只是个苹果公司的移动平台操作系统。

第三位我选择了一位普通的程序员,应该代表了大部分人的回答

我是一枚安卓系统软件工程师,不管是Android还是ios都要承认,它们都是伟大的系统,上千人花费无数个日夜做出的东西,想要做出一个比Android更强大的系统,恐怕很难, 毕竟android也已经发展不少年了而且也已经很完善了。

Android的优势在于开源,所以才有了各个品牌的智能机,我认为近几年还是不会有一款能够取代Android的系统出现,除非ios也开源。因为开源智能家居、智能穿戴、工业设备、车载系统将都是Android的天下,随着人们生活水平的提高Android未来在智能设备端(不止手机)还会保持增长。

Android是一种操作系统,一个大平台,不局限于智能手机,还有智能手表,智能电视,智能车载等方向。未来必定是科技不断改善生活,Android则提供了一个很好的链接平台,除非能有一个更好的替代品,否则就不会出现死之类的现象。目前只是国内Android应用软件开发人才饱和产生就业难的现象。对于Android本身的发展没多大影响。所以我依然看好Android在未来能更好的生存,并给生活带来惊喜。

就如这位程序员所说,我觉得Android开发最起码能活到硬件改革,
直到穿戴设备完全流行,直到ipv6完全执行,直到所有的地方都可以接入互联网,是不是还很远?

但是大家有没有想过,如果IOS开源呢?希望大家去评论区探讨一下

文章最后,我给大家分享一下我自己整理的一些Android资料
需要资料的朋友可以前往 GitHub 自行查阅。
同时我也推荐一下我自己的AndroidQQ裙,点击直达,因为是我自己审核的,所以请耐心等待

一、Java 基础+进阶

  • JVM
  • Object
  • static
  • final
  • String、StringBuffer. StringBuilder
  • 异常处理
  • 内部类
  • 多态
  • 抽象和接口
  • 集合框架
  • 反射
  • 单例线程
  • volatile
  • synchronized
  • Lock
  • 引用类型
  • 动态代理
  • 元注解

Android 知识点汇总

  • Activity
  • Fragment
  • Service
  • BroadcastReceiver
  • ContentProvider
  • 数据存储
  • View
  • 进程
  • Parcelable接口
  • IPC
  • Window / WindowManager
  • Bitmap
  • 屏幕适配
  • Context
  • SharedPreferences
  • 消息机制
  • 线程异步
  • RecyclerView 优化
  • Webview

Android 扩展知识点汇总

  • ART
  • Hook
  • Proguard
  • 架构
  • Jetpack
  • NDK开发
  • 类加载器

常见面试算法题汇总

  • 排序
  • 二叉树
  • 链表
  • 栈/队列
  • 二分
  • 哈希表
  • 堆/优先队列.
  • 二叉搜索树
  • 数组/双指针
  • 贪心
  • 字符串处理
  • 动态规划
  • 矩阵
  • 二进制/位运算
  • 其他

Android基础问题相关(面试题与答案已整理成了PDF文档):

1、接口的意义-百度
2、抽象类的意义-百度
3、内部类的作用-乐视
4、Java 虚拟机的特性-百度-乐视
5、哪些情况下的对象会被垃圾回收机制处理掉-美团-小米
6、进程和线程的区别-猎豹-美团
7、java中==和equals和hashCode的区别-乐视
8、HashMap的实现原理-美团
9、string-stringbuffer-stringbuilder区别-小米-乐视-百度
10、什么导致线程阻塞-58-美团
11、多线程同步机制-猎豹
12、ArrayMap对比HashMap
13、hashmap和hashtable的区别-乐视-小米-360
14、容器类之间的区别-乐视-美团
15、抽象类接口区别-360

Android 方面(面试题与答案已整理成了PDF文档)

16、如何导入外部数据库?
17、本地广播和全局广播有什么差别?
18、intentService作用是什么,AIDL解决了什么问题-小米
19、Ubuntu编译安卓系统-百度
20、LaunchMode应用场景-百度-小米-乐视
21、Touch事件传递流程-小米
22、View绘制流程-百度
23、多线程-360
24、Handler,Thread和HandlerThread的差别-小米
25、线程同步-百度
26、什么情况导致内存泄漏-美团
27、ANR定位和修正
28、什么情况导致oom-乐视-美团
29、Service与Activity之间通信的几种方式
30、如何保证service在后台不被Kill
31、Requestlayout,onlayout,onDraw,DrawChild区别与联系-猎豹
32、Android动画框架实现原理
33、Android为每个应用程序分配的内存大小是多少-美团
34、优化自定义view百度-乐视-小米
36、volley-美团-乐视
37、Glide源码解析
38、Android设计模式
39、Android属性动画特性-乐视-小米
40、Activity Window View三者的差别,fragment的特点-360
41、invalidate和postInvalidate的区别及使用-百度
42、LinearLayout和RelativeLayout性能对比-百度
43、View刷新机制-百度-美团
44、架构设计-搜狐

腾讯公司Android面试题精选

45、2000万个整数,找出第五十大的数字?
46、从网络加载一个10M的图片,说下注意事项
47、自定义View注意事项
48、项目中常用的设计模式
49、JVM的理解

阿里Android面试题精选
50、进程间通信方式
51、什么是协程
52、内存泄露是怎么回事
53、程序计数器,引到了逻辑地址(虚地址)和物理地址及其映射关系
54、数组和链表的区别
55、二叉树的深度优先遍历和广度优先遍历的具体实现
56、堆的结构
57、bitmap对象的理解
58、什么是深拷贝和浅拷
59、对象锁和类锁是否会互相影响
60、looper架构
61、自定义控件原理
62、自定义控件原理
63、ActivityThread,Ams,Wms的工作原理
64、Java中final,finally,finalize的区别
65、一个文件中有100万个整数,由空格分开,在程序中判断用户输入的整数是否在此文件中。说出最优的方法
66、两个进程同时要求写或者读,能不能实现?如何防止进程的同步?
67、volatile 的意义?
68、烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢?

面试题及答案整理部分截图

需要资料的朋友可以前往 GitHub 自行查阅哦。

猜你喜欢

转载自blog.csdn.net/Androidbye/article/details/115010382