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学习PDF+架构视频+源码笔记,高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料 这几块的内容。分享给大家,非常适合近期有面试和想在技术道路上继续精进的朋友。快来获取学习资料吧~
android框架揭秘!Android开发你需要了解的那些事,附大厂真题面经相关推荐
- 腾讯Android开发面试记录,附大厂真题面经
前言 回顾一下自己这段时间的经历,因公司突然通知裁员,我匆匆忙忙地出去面了几家,但最终都没有拿到offer,我感觉今年的寒冬有点冷.公司开始第二波裁员,我决定主动拿赔偿走人.后续的面试过程我做了一些准 ...
- android开发资料!4年小Android的心路历程,附大厂真题面经
前言 经常在群里听到大家对Android抱有一些消极的态度,说Android凉了,想要换个方向,但是如果换个方向就能变成大牛的话,那大家都换就好了. 其实任何方向都存在"二八"定律 ...
- android计步器!五步搞定Android开发环境部署,附大厂真题面经
缘起 经过近十年的发展,Android技术优化日新月异,如今Android 10.0 已经发布,Android系统性能也已经非常流畅,可以在体验上完全媲美iOS.到了各大厂商手里,改源码.自定义系统, ...
- 2021年GitHub上那些优秀Android开源库总结,附大厂真题面经
前言 就要到"金九银十"面试跳槽季了,需要找工作的小伙伴们该要着手开始复习了.特此将我今年收录的一些腾讯.阿里巴巴.字节跳动等等一线互联网巨头的面试真题体系的归类.整理了一下,拿来 ...
- Android自定义可移动悬浮按钮,附大厂真题面经
android:layout_width="wrap_content" app:borderWidth="0dp" app:backgroundTint=&qu ...
- 视频教程-Android Gradle揭秘-Android
Android Gradle揭秘 六年以上软件开发及教学经验,先后任职于深思数盾.传智博客.法制网移动等知名企业.涉猎C#.iOS.Java及Android应用开发,在Android系统方面有深入理解 ...
- 经典Java开发教程!腾讯+字节+阿里面经真题汇总,斩获offer
前言 MyBatis是一个支持普通SQL查询.存储过程和高级映射的优秀持久层框架.MyBatis 去掉了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装.MyBatis可以使用简单的XML ...
- 如何写出Android框架,结合android当前著名框架写的一个项目--学Android
简介 学Android 主要是采用 MVP + RxJava2 + Retrofit + Multimodule 等架构设计.利用开源的api获取有关android知识的数据,非常感谢张鸿洋老师提供的 ...
- 腾讯安卓开发面试,腾讯+字节+阿里面经真题汇总,Android篇
简介 首先,Android是不是真的找工作越来越难呢?这个可能是大家最关心的.这个受大的经济环境以及行业发展前景的影响,同时也和个人因素有关. 近期一方面是所在的公司招聘Java开发人员很难招到合适的 ...
- [ASP.NET Core 3框架揭秘] 跨平台开发体验: Windows [上篇]
微软在千禧年推出 .NET战略,并在两年后推出第一个版本的.NET Framework和IDE(Visual Studio.NET 2002,后来改名为Visual Studio),如果你是一个资深的 ...
最新文章
- oracle decode 01427,(oracle)在DECODE中的SELECT(返回多行)
- Oracle数据库日期范围查询的两种实现方式
- 不用车载传感器,也能L4级自动驾驶?清华百度联手发布全球首个纯路侧感知自动驾驶方案...
- Informix IDS 11体系打点(918考试)认证指南,第 5 局部: 数据库管事器操作(4)
- Android 使用Scroller实现绚丽的ListView左右滑动删除Item效果
- 左神算法:求最大子矩阵的大小(Java版)
- powershell 学习地址
- jmeter进行性能测试_使用JMeter进行性能测试
- mysql 分页效率_MYSql分页查询效率提高
- Invoke and BeginInvoke BeginInvoke和EndInvoke方法 (转)2
- node全局对象 文件系统
- linux拷贝数据库文件夹,手工拷贝数据库文件建立新的数据库实例过程
- pg8168改mac命令_Realtek 8168网卡改MAC地址教程
- Js实现金额转换为中文繁体
- 自然语言处理(九)——数据平滑
- windows xp 系统CMD命令大全
- 关于循环调用Variable RNN的reuse问题
- 多模态 |COGMEN: COntextualized GNN based Multimodal Emotion recognitioN论文详解
- PC电源的保持时间是用来做什么的?
- 使用FME 批量OSGB转FBX(OBJ) (亲测)