1.Java基础
- 反射原理以及使用
- 注解原理以及使用
- 业务抽象分析能力(例如让你实现一个俄罗斯方块游戏,你怎么设计)
- 能识别并掌握常用的设计模式
- 常用界面的开发方法,常用控件的使用,复杂视图能够通过自定义控件的方式实现
- 四大组件的基本原理和最佳实践
- Activity 启动模式的使用场景,生命周期,现场恢复。
- Fragment的生命周期,现场恢复,如何与Activity通信,如何与Fragment通信。
原答案中:(传授一个经验给你,写完fragment后,Home到桌面,然后用猎豹,360,百毒,疼训清理助手清理一下,打开app,看下fragment是否异常,就知道你的Fragment是否处理好了现场恢复)
这个可以通过打开 开发者选项-不保留活动 这个功能实现,这样activity离开后台后就会被销毁,再回到原界面就会导致activity和fragment重建。
- Service绑定与非绑定与混合绑定的区别,如何与Service通信。
- Android的跨进程通讯
- Android的数据存储,以及分别的应用场景。
- 清楚什么是ANR,为什么导致ANR,ANR分类,如何避免ANR。
- 清楚Handler的使用场景,对于Handler Lopper 工作原理的理解。
- 清楚AsyncTask的在不同Android版本上的差异。
- 清楚Loader的理解和使用。
- 清楚使用Handler AsyncTask需要注意的地方。
- 清楚Android开发哪些地方中可能会导致内存泄露,以及如何如何避免。
- 多线程的管理
- Android网络通信
- View的绘制流程,以及Touch事件机制。
- 知道如何处理图片的加载,清楚图片的缓存机制,以及如何避免图片内存溢出,内存泄露。
- 了解并能够使用Android里面提供几种动画,知道不同系统版本的差异。
- 清楚Android UI 图标准,知道如何将UI图尺寸转换Android正确单位尺寸。
- AndroidStudio的使用(包括调试工具,测试工具,快捷键等)
- Gradle的使用,理解相关配置的写法和过程。
- 性能优化(过度重绘,嵌套过多优化,图片加载优化等)
- 能通过调试,以及相关工具解决内存泄露问题。
- 理解单元测试基本原理,能通过单元测试有效验证代码逻辑,提高代码质量。
- Git的使用,以及常用的工作流。
- Android常用第三方库,以及根据需求自修改三方库实现。(例如修改图表库代码以符合需求
个人经验,欢迎大家一起讨论~
关于Android必须掌握的知识就说到这里,喜欢Android开发的同学,可以点击这里免费获取《Android开发核心知识点笔记》研读。
除此之外,我也分享了一些免费的优质资源,包括:Android学习PDF+架构视频+面试文档+源码笔记,高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料 这几块的内容,分享给大家,非常适合近期有面试和想在技术道路上继续精进的朋友。
或者有想解决面试难题的同学,也可以点击:
《Android学习PDF+架构视频+面试文档+源码笔记》来获取学习资料
喜欢本文的话,不妨给我点个小赞、评论区留言或者转发支持一下呗~