微信号:googdev

介绍:可能是最有人情味的技术公众号,我的存在证明了努力一定有所回报!

给大家推荐一个进阶直播课,免费的!

2019-03-13 09:00 网易云课堂

很多人应该都意识到了,随着市场环境越来越不好,以后竞争会越来越激烈,企业对技术人才的要求自然也越来越高,很多人问,这个趋势大概会持续多久,恕我直言,我很不乐观,趋势一旦形成,很难短期内扭转,每个人要有点危机感,务必要想着提升自己的能力。


关注我的读者中有不少是做 Android 开发的,之前很多人的工作重点可能就是找各种各样的组件、框架,拖拖拽拽,改改样式,改改 UI。在极端情况下出现了问题后(比如部分机型上崩溃,加载图片慢),束手无策,很多开发者没有过多的追求,也没有多少压力,总之依葫芦画瓢呗,导致自己的工作经验倒是涨了,但能力没涨多少。


造成这种局面的有两种原因:

  1. 所开发的 App 功能要求并不复杂,在性能上呢,也不需要极致的追求;

  2. 自己的意识不够,不知道如何从平凡的工作中提炼可优化的点,在向上提升方面也没有完整的规划


从自身规划的角度讲,技术上的进阶分如下几个阶段:

  1. 做好业务需求的功能这个是初级程序员就应该有的能力。

  2. 解决极端情况下的技术问题,比如性能优化,OOM等。稍有点规模的公司,肯定都会遇到这种问题,比如上文中说的App在部分机型上崩溃、页面加载不出来等。只是大部分程序员会觉得难以复现,或者是因为小概率事件而忽略了。在忽略这些问题的过程中,也放弃了进一步提升的可能性。还有一部分程序员是看到了这些问题,但一直不知道怎么解决,因为这些问题的产生基本都是要往底层框架去找原因,而平时只关注上层的业务逻辑代码,因而没有深入研究底层的原理,导致心有余而力不足。

  3. 在开发框架和效率上做文章举个例子,很多程序员说自己的精力都在和产品的撕逼中浪费了,但有没有想过,能够通过技术手段将自己从繁杂的无技术含量的工作中解救出来?比如是否能够做到只编写一次代码,或者改个配置参数就能够做到在不同平台上运行。更高的要求是,能否将这些方案做成通用框架或产品。


上面列举的几个阶段,首先要从思考方式上去逼迫自己不断地逼迫自己,不要偷懒。其次,要想按照上述阶段发展,还需要落在实处,在具体的技术体系中不断的学习。

举个例子:

对于 OOM,需要知道有哪些优化工具可以使用(Lint、MAT等),如何检测 OOM,以及垃圾回收机制等深层次的原理。对于性能优化来说,如何减少 apk 体积、资源动态加载等都是必会的。以下是性能优化相关思维导图。

(Android性能优化思维导图)

在体系化的学习过程中,博客、书籍、视频课程都是较好的学习手段。

鉴于Android也是基于java语言的,因此很多与java相关的基础也是必须掌握的,比如《深入理解Java虚拟机》、《Effective Java》等相关书籍也是必读的。

Android相关的书籍包括《Android权威编程指南》、《Android开发艺术探索》等,进一步的还可以去阅读Android相关源码,配合《Android源码设计模式解析与实战》等书籍,对阅读源码大有裨益。


(Android 学习推荐书籍)

如果你依然觉得有些茫然,不如跟有多年 Android 开发经验的资深工程师聊一聊。


3月11日-3月17日,网易云课堂为你带来两大福利资深工程师带你突破Android 开发技术瓶颈,向你传道 UI/NDK 开发 · 性能优化 · 架构设计 · Flutter 开发每天2小时,密集输入 Android 开发相关知识及经验,帮你快速实现技术和职业成长上的突破。


福利1  免费直播课程


网易云课堂Android进阶免费系列直播课

适听人群:Android初、中级开发工程师


3.11-3.17  为期7天每晚8点准时直播

3月11日:Android绘制Skia引擎详解,实现微信黑科技的压缩方案

3月12日:Android顶尖技术之一,Tinker热修复

3月13日:金三银四面试必考-图片加载框架如何选型及原理解析

3月14日:Android 进程保活--让App在系统内存中常驻

3月15日:BAT大型安卓项目的开发之旅-组件化架构

3月16日:Android黑科技,图片终极压缩

3月17日:Handler源码分析 - 手把手带你实现Handler机制核心架构


福利2  Android开发资料包




报名方式:

扫描下方二维码添加助教小姐姐微信,

通过审核后即可免费报名


免费课程,名额有限,先到先得~~

 
AndroidDeveloper 更多文章 最近拜访了不少大佬 别想着复制别人的路! 学习一门编程语言的几点理由 透漏几点面试的真相 你丫就是一普通人!
猜您喜欢 微服务架构实践:服务注册与发现中负载方案选型 ❲很有料❳关于Web安全,99%的网站都忽略了这些 解读Linux启动过程 运维管理平台实现与学习心得 能不能让R按行处理数据?