纯干货分享 | 成为一个优秀的Android程序员,必须要掌握的基础知识有哪些?

193 阅读3分钟

1.Java基础

  • 反射原理以及使用
  • 注解原理以及使用
  • 业务抽象分析能力(例如让你实现一个俄罗斯方块游戏,你怎么设计)
  • 能识别并掌握常用的设计模式
2.Android基础知识
  • 常用界面的开发方法,常用控件的使用,复杂视图能够通过自定义控件的方式实现
  • 四大组件的基本原理和最佳实践
  • Activity 启动模式的使用场景,生命周期,现场恢复。
  • Fragment的生命周期,现场恢复,如何与Activity通信,如何与Fragment通信。
原答案中:(传授一个经验给你,写完fragment后,Home到桌面,然后用猎豹,360,百毒,疼训清理助手清理一下,打开app,看下fragment是否异常,就知道你的Fragment是否处理好了现场恢复)
这个可以通过打开 开发者选项-不保留活动 这个功能实现,这样activity离开后台后就会被销毁,再回到原界面就会导致activity和fragment重建。
  • Service绑定与非绑定与混合绑定的区别,如何与Service通信。
  • Android的跨进程通讯
  • Android的数据存储,以及分别的应用场景。
3.并发编程
  • 清楚什么是ANR,为什么导致ANR,ANR分类,如何避免ANR。
  • 清楚Handler的使用场景,对于Handler Lopper 工作原理的理解。
  • 清楚AsyncTask的在不同Android版本上的差异。
  • 清楚Loader的理解和使用。
  • 清楚使用Handler AsyncTask需要注意的地方。
  • 清楚Android开发哪些地方中可能会导致内存泄露,以及如何如何避免。
  • 多线程的管理
  • Android网络通信
5.UI方面
  • View的绘制流程,以及Touch事件机制。
  • 知道如何处理图片的加载,清楚图片的缓存机制,以及如何避免图片内存溢出,内存泄露。
  • 了解并能够使用Android里面提供几种动画,知道不同系统版本的差异。
  • 清楚Android UI 图标准,知道如何将UI图尺寸转换Android正确单位尺寸。
6.其它
  • AndroidStudio的使用(包括调试工具,测试工具,快捷键等)
  • Gradle的使用,理解相关配置的写法和过程。
  • 性能优化(过度重绘,嵌套过多优化,图片加载优化等)
  • 能通过调试,以及相关工具解决内存泄露问题。
  • 理解单元测试基本原理,能通过单元测试有效验证代码逻辑,提高代码质量。
  • Git的使用,以及常用的工作流。
  • Android常用第三方库,以及根据需求自修改三方库实现。(例如修改图表库代码以符合需求

个人经验,欢迎大家一起讨论~

关于Android必须掌握的知识就说到这里,喜欢Android开发的同学,可以点击这里免费获取《Android开发核心知识点笔记》研读。

除此之外,我也分享了一些免费的优质资源,包括:Android学习PDF+架构视频+面试文档+源码笔记高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料 这几块的内容,分享给大家,非常适合近期有面试和想在技术道路上继续精进的朋友。

或者有想解决面试难题的同学,也可以点击:

《Android学习PDF+架构视频+面试文档+源码笔记》来获取学习资料

喜欢本文的话,不妨给我点个小赞、评论区留言或者转发支持一下呗~