2020 年,Android 开发者需要的技能

一个 Android 技术专家,至少有 2~3 个专业领域。

 

链接:https://www.techyourchance.com/android-developer-skills/
作者:Vasiliy Zukanov,独立 Android 开发及软件顾问
译者:罗昭成,Android 开发者

许多 Android 开发者经常会问我,要学会哪些东西才能成为一个优秀的 Android 工程师?对于这个问题,他们的描述或多或少都有些差异,但是,总体来说,我们都需要学习一系列的技能,才能成为一个优秀的 Android 工程师。

在我看来,存在这样的困惑是正常的。Android 是一个巨大并且动态的生态系统,你可能需要花好几周时间去了解并学习它相关的一些工具和概念,但是最后你会发现,它们有好多都不是很重要,或者说并不是非常有用。因此,在本文中,我将分享我在 Android 开发中所使用到的重要技能,希望能够帮到你,让你把你的精力集中到重要的事情上。

当然,如果你是一个经验丰富的 Android 开发者,这些知识可能你都知道。有很多技能和观点都需要很多基础知识的沉淀,当你没有足够的经验的时候,很难看到这些技能点。文中,我不可能列出所有 Android 开发者都需要的技能。所以,我根据不同的经验,将这些知识点进行了粗略分组。请注意,这只是一个粗略的分组,并不一定是很精确的。

写在前面

如果你只是一个想成为 Android 开发者的人,并且还没有写过任何应用,那么这篇文章对你来说,还有点太早。本文主要是为了帮助开发者成为一个更专业的人。

本文,我会给你很多建议,不会让你空手而归。文章中列出了如何在短时间成为一个专业的开发者。读完文章,需要你自己去练习,并时常回来看看这些技能。

在本文开始之前,我就当你已经在 Google Play 发布过 Android 应用并且使用 GitHub 来进行源码管理。

一,0-2 年开发经验

Android 是一个非常复杂的框架,它拥有陡峭的学习曲线。有一些复杂的概念的确是 Native 的 Android 开发者需要学习的,但另一部分却是由于 Android 的原因,造成了它的复杂度。

当你向专业进军时,除了你的软件开发工作以外,你应该学习 Android 框架,忘记语言、架构、流行的开源库,专注于核心概念,并进行深入的研究。

具体来说,我建议你更多的了解以下内容:

  • Android 内存管理和进程调度

当面临「Low Memory Killer」的时候,如何保证你的应用程序稳定可靠的运行?这是一件很复杂的事情。长话短说,当用户切换到其它应用时,你应用的生命周期就会被打乱,但是当用户过一会儿重新切换回来的时候,用户却希望你的应用程序像任何事情都没有发生过一样,正常运行。

在本文中,我并不会介绍内存管理的任何细节,如果你想了解它们,可以看看这篇文章。

  • 生命周期

如果有人要我说出 Android 应用程序中的复杂度和 Bug 的主要来源,我会立马大声告诉他是“生命周期”(然后捂住脸哭)。

Application、Activity、Fragment、Service、BroadcastReceiver、ContentProvider 和一些 Android 框架的核心组件,都拥有复杂的生命周期,并且它们的生命周期还不一样。如果你觉得这还不够多,Google 也一直在推出新的库和框架,这些库都有自己的复杂性和独立的生命周期。Loader, ViewModel 和 LiveData 都是为了解决这些问题而推出的。

有件有意思的事情,我从来没有看到过任何有关“生命周期“的定义。我们一直在使用它,但是它到底是什么意思呢?据我所知,在某种程度上,你只是把一些节点串联在一起,构建出一个生命周期的图。我对生命周期有过很多的思考,在这里,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值