写点什么

android 布局优化!Android 屏幕适配很难嘛?其实也就那么回事,内含福利

发布于: 2021 年 03 月 01 日

前言


IT 行业薪水高,这是众所周知的,所以很多人大学都选择 IT 相关专业,即使非该专业的人,毕业了也想去一个培训机构镀镀金,进入这一行业。


但是有关这个行业 35 岁就退休的说法,也一直盛传。


加上这几年不断有各大公司裁员,最著名的就是华为,35 岁以上的被剔除的甚多。


但是这都是被媒体放大的数据,真实情况往往不是表面看到的那样残酷。


很多在这方面有能力的人,30 岁之前可以频繁跳槽,30 岁之后找一个稳定的跟自己投缘的大企业,你为企业带来的价值大于企业给予你的付出,你的职位肯定是稳稳的。而且上升趋势也不错。


一般到了 35 岁,也就昏倒了技术管理岗,无论是在网易、阿里、华为、滴滴、美团这些大企业,还是一些小的互联网企业,这类人都是中坚力量。


而我们反过来看看被裁掉的 35 岁以上的人,职位低、收入低、可替代性强,也就是混了 10 多年了,你还是在最低端的岗位,那么只能被后来年轻人淘汰。


这就是中国的现实,你想踏踏实实当一个纯粹的码农,好像挺难的,不像国外,有的人四五十岁还能当一个底层的纯粹的码农,只专注于写好的代码好的软件。


但是这就是现实,要想不在 35 岁被退休,那么就在入职时候做好职业规划。


自学能力和解决问题能力,永远都是 IT 职业人必备的能力。


正文 Android 进阶重难点


Java


  • 集合:使用场景、源码阅读

  • GC 机制

  • 虚拟机

  • 对象内存分配


要学好 Android,必须要有扎实的 Java 基础(当然,现在还有 Kotlin)。这里只列出了四点,但 Java 的体系非常庞大,重难点当然不只这些,列出来的是在实际项目和面试中常用或常见的。


Android 常用/重要类


  • Activity

  • Handler

  • HandlerThread

  • AsyncTask

  • Binder


Android 这几个类在编程时是比较高频使用的,所以我打算细读下这几个类的源码。而这几个类也是面试经常被问到的,如 Activity 启动流程、Binder 通信原理等等,所以非常有阅读价值!


Android 基础技术和高频面试知识点


  • View 事件传递

  • View 绘制流程

  • SurfaceView 的使用

  • IntentService 替换 Service 的场景

  • Service 保活

  • Android 序列化方式和区别


这些知识点算是比较基础的,但也很重要!可惜在实际项目中很少用到,所以经常会忘了这些知识。所以打算把其写成文章,加深自己印象。


NDK 和 JNI


说起这个我就头疼,相信很多人跟我一样,如果只是调用 C 层接口还好,如果要写 C 的代码,就很尴尬了。但我们不能总是逃避困难,而是迎难而上!所以我下定决心来跨过心里的这道坎了!


算法与数据结构


  • 队列、栈、链表、有向图

  • 排序

  • 查找

  • 红黑树


在家的几本算法书都满是灰了... 罗列的点不难,算是需要基本掌握的吧,但我总是看了忘了,忘了又看,还是记不得... 所以也打算写文章增强记忆。另外,如果做应用级别的开发,掌握这几个知识点基本是够用的了,毕竟 Java 的集合也提供了排序接口。但还是需要掌握下,毕竟不同算法使用到不同场景。


插件化/热修复


作为 Android 进阶必掌握的技能,这个不会都不好意思说自己的 Android 开发的。之前看了一个月 RePlugin 的源码,感觉道行还不够。很多代码的处理或适配看得似懂非懂,如 Binder 的机制等。所以这个需要大量的知识作为支撑才能完成看懂,未来再战!


第三方优秀开源库


  • RxJava

  • Glide

  • OKHttp


“RTFSC (Read The F**king Source Code )”。每个人都有自己的编程风格,如果不借鉴、不参考下别人的代码,眼界永远这么小,难以进一步提升编程境界。所以阅读他人优秀的代码是非常有必要的!


Android 常见的架构模式


  • MVC

  • MVP

  • MVVM


解耦!解耦!Android 的架构模式的使用重中之重无非就是解耦了。开发代码不难,维护代码才是最难的。如果代码都很多的解耦,把维护成本降低,工作效率自然提高。


Gradle 和 Groovy


相信现在大多数人都用 Android Studio 开发了,Gradle 作为构建工具真是非常强大,个人觉得它完成可以取代 Java 的编译期注解,有过之而无不及。因为连文件也能在编译期作修改,非常强大,所以也非常值得学习。


通用技能


  • TCP/HTTP

  • SQL

  • 自动化测试

  • 抓包


除了 Android 的知识点意外,还需要掌握一些通用的技能。毕竟懂多点才有底气跟后端怼嘛哈哈。


分享读者


作者 2013 年 java 转到 Android 开发,在小厂待过,也去过华为,OPPO 等大厂待过,18 年四月份进了阿里一直到现在。


被人面试过,也面试过很多人。深知大多数初中级 Android 工程师,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长,而且极易碰到天花板技术停滞不前!


我们整理了一份阿里 P7 级别的 Android 架构师全套学习资料,特别适合有 3-5 年以上经验的小伙伴深入学习提升。


主要包括腾讯,以及字节跳动,阿里,华为,小米,等一线互联网公司主流架构技术。如果你有需要,尽管拿走好了。



如果你觉得自己学习效率低,缺乏正确的指导,可以点击加入资源丰富,学习氛围浓厚的技术圈一起学习交流吧


群内有许多来自一线的技术大牛,也有在小厂或外包公司奋斗的码农,我们致力打造一个平等,高质量的 Android 交流圈子,不一定能短期就让每个人的技术突飞猛进,但从长远来说,眼光,格局,长远发展的方向才是最重要的。


35 岁中年危机大多是因为被短期的利益牵着走,过早压榨掉了价值,如果能一开始就树立一个正确的长远的职业规划。35 岁后的你只会比周围的人更值钱。


用户头像

VX公众号:编程进阶路 2020.11.28 加入

还未添加个人简介

评论

发布
暂无评论
android布局优化!Android屏幕适配很难嘛?其实也就那么回事,内含福利