前言

前几年移动互联网创业的风口,如今渐渐消失,移动互联网被巨头公司瓜分,一些创业公司倒闭了,Android 开发需求慢慢趋近于饱和。而当初移动互联网处于风口时,自学、转行以及培训机构出来了大量 Android 开发从业者,导致目前看起来市场供大于求。

那么 Android 开发工程师们应该如何面对当下的局面呢?

其实当下的供需关系不平衡不代表没有需求,市场上过多的是只会写 xml 和 Activity、只会用代码堆需求的初级 Android 程序员,而高级 Android 开发工程师仍然紧缺,并且薪资很可观。

那么接下来,问题就变成了“如何提升自己在 Android 市场上的竞争力”。

AWTK 主要特色:

1、跨平台

AWTK 是跨平台的,这有两个方面的意思:

  • AWTK 本身是跨平台的。目前支持的平台有 ZLG AWorks、Windows、Linux、MacOS、嵌入式 Linux、Android、Web 和嵌入式裸系统,可以轻松的移植到各种 RTOS 上。AWTK 以后也可以运行在各种小程序和 iOS 等平台上运行。
  • AWTK 同时还提供了一套跨平台的基础工具库。其中包括链表、数组、字符串 (UTF8 和 widechar),事件发射器、值、对象、文件系统、互斥锁和线程、表达式和字符串解析等等,让你用 AWTK 开发的应用程序可以真正跨平台运行。

2、高效

AWTK 通过一系列的手段保证 AWTK 应用程序高效运行:

  • 通过脏矩算法只更新变化的部分。
  • 支持 3 FrameBuffer 让界面以最高帧率运行 (可选)。
  • UI 描述文件和主题文件使用高效的二进制格式,解析在瞬间完成。
  • 支持各种 GPU 加速接口。如 OpenGL、DirectX、Vulkan 和 Metal 等。
  • 支持嵌入式平台的各种 2D 加速接口。目前 STM32 的 DMA2D 和 NXP 的 PXP 接口,厂家可以轻松扩展自己的加速接口。

3、稳定

AWTK 通过下列方式极力让代码稳定可靠:

  • 使用 cppcheck 和 facebook infer 进行静态检查。
  • 使用 valgrind 进行动态内存检查。
  • 近两万行的单元测试代码。
  • ZLG 强大 GUI 团队的支持。
  • 经过多个实际项目验证。
  • 多平台 / 多编译器验证。
  • 优秀的架构设计。
  • Code Review。
  • 手工测试。

4、强大

  • 丰富的控件 (持续增加中)。
  • 支持各种图片格式 (png/jpg/gif/svg)。
  • 支持各种字体格式 (点阵和矢量)。
  • 支持窗口动画
  • 支持控件动画
  • 支持高清屏。
  • 支持界面描述文件。
  • 支持主题描述文件。
  • 支持控件布局策略。
  • 支持对话框高亮策略。
  • 丰富的辅助工具。
  • 支持从低端的 Cortex M3 到各种高端 CPU。
  • 支持无文件系统和自定义的文件系统。
  • 支持裸系统和 RTOS。

5、易用

  • 大量的示例代码。
  • 完善的 API 文档和使用文档。
  • ZLG 强大的技术支持团队。
  • 用 AWTK 本身开发的界面编辑器 (开发中)。
  • 声明式的界面描述语言。一行代码启用控件动画,启用窗口动画,显示图片 (png/jpg/svg/gif)。

6、高度扩展性

  • 可以扩展自己的控件。
  • 可以扩展自己的动画。
  • 可以实现自己的主循环。
  • 可以扩展自己的软键盘。
  • 可以扩展自己的图片加载器。
  • 可以扩展自己的字体加载器。
  • 可以扩展自己的输入法引擎。
  • 可以扩展自己的控件布局算法。
  • 可以扩展自己的对话框高亮策略。
  • 可以实现自己的 LCD 接口。
  • 可以扩展自己的矢量引擎 (如使用 skia/cairo)。所有扩展组件和内置组件具有相同的待遇。

7、多种开发语言

AWTK 本身是用 C 语言开发的,可以通过 IDL 生成各种脚本语言的绑定。生成的绑定代码不是简单的把 C 语言的 API 映射到脚本语言,而是生成脚本语言原生代码风格的 API。目前支持以下语言 (以后根据需要增加):

  • C
  • Lua
  • Javascript on jerryscript
  • Javascript on nodejs
  • Javascript on quickjs

8、国际化

  • 支持 Unicode。
  • 支持输入法。
  • 支持字符串翻译 (实时生效)。
  • 支持图片翻译 (实时生效)。
  • 文字双向排版 (计划中)。

最后

都说三年是程序员的一个坎,能否晋升或者提高自己的核心竞争力,这几年就十分关键。

技术发展的这么快,从哪些方面开始学习,才能达到高级工程师水平,最后进阶到Android架构师/技术专家?我总结了这 5大块;

我搜集整理过这几年阿里,以及腾讯,字节跳动,华为,小米等公司的面试题,把面试的要求和技术点梳理成一份大而全的“ Android架构师”面试 Xmind(实际上比预期多花了不少精力),包含知识脉络 + 分支细节。

《Android架构视频+BAT面试专题PDF+学习笔记​》

网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望**这份系统化的技术体系**对大家有一个方向参考。

,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望**这份系统化的技术体系**对大家有一个方向参考。

2021年虽然路途坎坷,都在说Android要没落,但是,不要慌,做自己的计划,学自己的习,竞争无处不在,每个行业都是如此。相信自己,没有做不到的,只有想不到的。祝大家2021年万事大吉。

斗鱼直播Android开发二面被刷,跳槽薪资翻倍相关推荐

  1. 斗鱼直播Android开发二面被刷,赶紧收藏!

    前言 "金三银四"再过几天就到了,又到了一年一度的大型**"程序猿跳槽大会"**.作为大龄IT从业者的我们,每到这个时候就会想起年轻时的自己,为了能搞定面试官, ...

  2. 斗鱼直播Android开发二面被刷,不吃透都对不起自己

    前言 最近我开始偷偷投简历了.与老东家的合同快要到期,想知道自己的斤两,续签合同也好有个底,顺便悄悄看看新的工作机会.虽然市场环境不好,但我们身在涨工资靠跳槽的行业没办法. 由于工作了5年了,经验有了 ...

  3. 安卓开发实战!斗鱼直播Android开发二面被刷,成功入职阿里

    我的移动开发春季历程 没有稳定的工作,只有稳定的能力. 春天,又到了万物复苏的季节,在程序猿这个行当里,作为 Android 开发出生的我,在经历了5年的脱发生涯后,现在更多的是称呼自己为移动开发攻城 ...

  4. 斗鱼直播Android开发二面被刷,真香!

    前言 成为一名优秀的Android开发,需要一份完备的知识体系,在这里,让我们一起成长为自己所想的那样. 本文思维导图 快看看下面这些面试真题,是不是都能答得上来? HttpUrlConnection ...

  5. 安卓web项目开发教程!斗鱼直播Android开发二面被刷,先收藏了

    互联网现状 如今的互联网,延续了2018年的态势.虽然前些年,每到年底的时候大环境都不好,然而来年照样春暖花开.但是现在的互联网环境是真的不好了. 首先各大公司争相优化员工,小公司我就不提了,咱就只说 ...

  6. 斗鱼直播Android开发二面被刷,好文推荐

    一.自我介绍 应该算是起点比较高吧!985大学毕业后面一直在国外读研.之前准备面试微软但是可能经验不够,没有通过.经过朋友介绍我准备回国,积累一些开发经验.于是我面试了国内大厂BATJ,还有一些其他比 ...

  7. oppo安卓面试题,斗鱼直播Android开发二面被刷,深度好文

    前言 我最近在筹备Android面试的相关文章,我发现,Framework是一个十分重要的点,被不少大厂所看重. 如图,这是我们的一个技术交流群里面的对话↓↓↓ 前阵子我写的Android技术文里面, ...

  8. android电子市场!斗鱼直播Android开发二面被刷,大厂面试题汇总

    开头 这是一个做精品的时代了,不是当年出个产品就能拉投资骗点击的时代了.精品需要的是更专业的人才,也就是对APP开发人员的素质要求会更高,这个市场会回归一个正常的节奏,拿多少钱就是看能力,看产品.我觉 ...

  9. 斗鱼直播Android开发二面被刷,手慢无

    简介 互联网领域里有个八秒定律,如果网页打开时间超过8秒,便会有超过70%的用户放弃等待,对Android APP而言,要求更加严格,如果系统无响应时间超过5秒,便会出现ANR,APP可能会被强制关闭 ...

最新文章

  1. pxeconfig 4.2.0 发布,PXE 首要启动设备
  2. Java的死锁的例子
  3. oracle 考试技巧,从 TPCH 测试学习性能优化技巧之 Q14
  4. vc 只有顶级窗口可以弹出窗口_如何在Mac上允许弹出窗口
  5. python大神作品_Python大神成长之路: 第一次学习记录
  6. sql server :distinct 与order by 一起使用要注意
  7. SharePoint创建登录表单
  8. setTimeout.js
  9. java常用框架集合
  10. 力士乐伺服电机编码器调零_伺服电机编码器安装拆卸方法
  11. 怎么吸引百度蜘蛛抓取自己的网页
  12. vim 删除首尾空格
  13. 按ASC码对字符串排序
  14. 苹果净利润同比下滑19%,大中华区下滑30%;养老基金将入股市投资,首批可能达2000亿元
  15. 副业案例-晴矢分享 短视频MCN亏损500W的总结的血泪经验
  16. 大学期间的副业赚钱之道
  17. 新浪微博松绑140字限制 内容和社交能否兼得?
  18. jobunit: calljob
  19. 发言稿开场白范文_演讲稿开场白范文集锦
  20. 大数据与O2O:能看到的三四线城乡互联网的未来

热门文章

  1. 年月日时天干地支推算(农历、公历)
  2. CMake Error: The current CMakeCache.txt directory is different than the other
  3. Arduino制作一个人体感应灯
  4. 1ms超快响应+144Hz极限刷新 这就是电竞游戏显示器该有的样子
  5. Linux-uboot-学习笔记(10):移植三星官方uboot
  6. java毕业设计水果网店管理系统(附源码、数据库)
  7. VC加载jpeg, png图片的方法
  8. 曾被疑为有血缘关系的明星
  9. Ameya360:AMD芯片组驱动有什么用 ?
  10. 论文翻译:2022_PACDNN: A phase-aware composite deep neural network for speech enhancement