2024跳槽字节跳动后:我的技术规划!

本文介绍了安卓开发中代码混淆以防止反编译的重要性,推荐使用爱加密加密保护。文章覆盖了从基础组件到高级技术如AIDL、Binder、网络框架和系统核心机制,强调持续学习和体系化成长对于Android开发者的重要性,还提供了全套学习资料链接。
摘要由CSDN通过智能技术生成

当然,有些安卓代码为了避免被他人反编译,所以进行了代码混淆。因为很多不法分子盗版一款安卓应用就是从反编译开始。所以从移动应用安全角度讲,为了避免他人了解自己的安卓应用的布局和逻辑,的确应该做一些反编译的保护措施,尤其是避免被竞争对手看到。如果开发者不想被他人反编译,提高APK的安全性,可以使用爱加密进行加密保护。我也做过测试,使用爱加密后,原有的代码程序都被隐藏了,没法再看到源代码。

计划实现(如果你是小白)

Android的基本知识(1-6个月)

四大组件、Fragment、自定义控件、动画、组件之间的消息传递等等,这些都是基本知识也是开发过程中所必须掌握的,同时也是为今后的发展所打的基础,在这个基础上我们还要掌握组建的生命周期呀,activity启动模式的区别和场景应用、scheme跳转协议、 组件之间消息传递的机制、动画的种类和区别、属性动画的特点和作用等。

Android的技术难点(1年-3年)

AIDL、Binder、多进程、View的绘制流程、事件分发、消息队列等。这类知识对于定位自己为高级Android工程师的人来说是必须掌握的,同时他也是能鉴别高级和初中级工程师的一块试金石,其中binder是Android系统进程间通信最重要的手段之一,现阶段app的发展离不开多进程的运用,经常会启动例如定位、推送等需要在后台开启动的进程来来保证主进程的内存运行;所以合理的使用多进程也是十分必要的;

view的绘制是我们自定义控件的理论基础,只有掌握了view是如何绘制的才能个性化的自定义控件;事件分发一直是Android开发的难点之一,也是必须掌握的,后期我也会在博客上推出这个系列;关于handler机制也是android的一块难点,因为包括Asynctask、系统启动、Intentservice等底层都是通过handler来实现的,所以掌握后handler机制不仅能提高你的实战开发能力,更能让你系统的了解整个android系统运作的情况。

网络框架的理解(3-5年)

现如今Android的网络框架可谓纷繁杂乱,但不外乎这三类:网络请求框架、图片加载框架、事件处理框架、IOC框架,其中的代表分别是Retrofit/volley/Okhttp,fresco/glide/picasso,eventbus/rxjava,butterknife/dagger/dagger2,平时应该多看下这些的源码的设计理念,不仅可以纠正我们的一些代码漏洞,我们要知道这些成熟的开源框架在github上已经经过了无数次的检验,所以学习这些框架能快速提高我们的代码能力,毕竟在大家还没有转型前写代码的能力是我们工程师的根本。

Android系统的一些核心机制的运作

在Android源码中最重要的三个类:ActivityManagerService/PackageManagerService/View,推荐大家周末的时候可以去阅读下这部分的源码,阅读源码能提高我们今后设计架构自己代码的能力,同时也能从底层了解整个android系统的运行原理,其他一些比如主线程的消息循环、主线程如何和AMS如何跨进程交互、SystemServer进程中的各种Service的工作方式、AsyncTask的工作原理等。这些知识也是作为一个Android高级开发工程师必须掌握的,不能整天沉溺于ui和四大组件的交互,要站在更高的角度去考虑Android的有些问题。

android编译构建

构建编译打包是我们开发过程中的最后一环,但是也是最容易被很多人忽视的一个知识点,现在的大型app开发团队都有自己的自动化构建工具,比如常用的jenkins,在这个基础上大家要对一些常用的工具有深入的了解:比如git的使用和它的内部原理,gradle如何加快我们编译apk的时间以及它的一些基本语法,proguard的作用和混淆的内部原理,lint是如何来检测我们代码中的问题的和如何自定义lint配置等。

尾声

当程序员容易,当一个优秀的程序员是需要不断学习的,从初级程序员到高级程序员,从初级架构师到资深架构师,或者走向管理,从技术经理到技术总监,每个阶段都需要掌握不同的能力。早早确定自己的职业方向,才能在工作和能力提升中甩开同龄人。

  • 无论你现在水平怎么样一定要 持续学习 没有鸡汤,别人看起来的毫不费力,其实费了很大力,这四个字就是我的建议!!!!!!!!!
  • 我希望每一个努力生活的IT工程师,都会得到自己想要的,因为我们很辛苦,我们应得的。

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级安卓工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Android移动开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Android)
img

最后

考虑到文章的篇幅问题,我把这些问题和答案以及我多年面试所遇到的问题和一些面试资料做成了PDF文档,如果有需要的朋友可以私信我【面试】免费领取

点击这里领取Android面试资料汇总

491529473)]

[外链图片转存中…(img-wdrmaX9k-1710491529473)]

喜欢的朋友可以关注、转发、点赞 感谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值