![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
架构师
文章平均质量分 88
bug樱樱
这个作者很懒,什么都没留下…
展开
-
关于Android系统源码的探索(突破知识瓶颈,挑战百万高薪)
Android开发源码精编解析原创 2023-03-23 09:00:00 · 91 阅读 · 0 评论 -
对标年薪80w,阿里Android高级开发工程师进阶路线分享
如果你觉得现在的工作差强人意,想辞职又不敢辞,最好的办法就是提前做好技术储备,未雨绸缪。如果工作中一直是curd boy,那你务必在闲暇时间找方法突破:看其他人的代码、看领导的代码、看开源代码、动手玩开源代码、多看计算机经典书籍等,这些都是突破的方法。原创 2023-02-22 16:53:21 · 143 阅读 · 0 评论 -
拥有思想,你就是高级、资深、专家、架构师
专业一点来讲,提升编程思想的重要性在于它能够帮助开发者更好地解决问题、提高效率、减少错误,并提高代码的可读性、可维护性和可扩展性,而这些点位就是成为一个高级Android工程师或者架构师必不可少的技能,也是每一个程序员应该具备的技能。在国外,很多面试更看重的是学习能力和编程思想,其实也是,一个10年的经验丰富的程序员学习一门新的语言或者技术如同探囊取物,对于一个公司、一个团队、一个业务成本来讲,有这样一个人是最经济的。原创 2023-02-20 09:41:30 · 124 阅读 · 0 评论 -
Android组件化开发快速上手,附强化实战
在Android开发的过程中,我们常常会遇到这样的问题:随着app业务的壮大,模块越来越多,项目的代码量非常多,这是无论是编译、测试还是稍微做下改动,都要动整个工程,耗时耗力不说,还会让你的编译过程变得十分痛苦。而这时,老手们就会用到组件化开发,来有效降低代码模块的耦合度,大大缩短编译时间,提高开发效率;当业务模块分开时,每个模块可以独立开发编译运行,解耦的同时也降低了项目的复杂度;同时,组件化可以针对单个模块测试,并将某一业务当成单一项目来开发,灵活地对业务模块进行组装和拆分。原创 2023-02-16 22:28:41 · 149 阅读 · 0 评论 -
2023送大家一份Android开发优秀源码合集(附解析)
本文是一位阿里P8大佬花了将近半个月时间,收纳了近百个知名开源项目的源码注释和源码阅读笔记,整理而成的Android开发源码合集。原创 2023-02-12 22:26:30 · 1573 阅读 · 0 评论 -
2023全套Android进阶学习笔记,必背大纲
移动互联网发展不知不觉已经十多年了,移动开发的光环和溢价开始慢慢消失,并且正在向AI、区块链等新的领域转移。移动开发的新鲜血液也已经变少,岗位对于程序员技术水平和经验的要求却在不断提高。对于许多中年程序员而言,重新开始一个领域成本和风险都太高,因此,不如狠挖Android技术,尽早的达到高阶工程师乃至架构师的水平!为此,我和团队经过几天几夜的鏖战,终于把Android体系的内容整理完了,包含基础,性能优化,Framework,Compose,音视频,架构,flutter,kotlin。原创 2023-02-07 17:54:08 · 232 阅读 · 0 评论 -
照着 Hugo 实现一个监控方法耗时的插件
到目前为止就实现了一个本地的 gradle 插件。目前存在的问题是,HugoPlugin 文件中引用的都是远程的代码。原创 2022-12-31 14:46:20 · 228 阅读 · 0 评论 -
2022全套Android开发进阶学习笔记,完整知识体系
想要成为一名优秀的 Android 开发,你需要一份完备的知识体系,能够让我们学到的知识体系化。让自己清楚哪块是自己的知识盲区,哪块已经构建起根基,然后根据实际情况,有针对性的进行模块学习。本篇文章整理了全套Android开发系列学习笔记,可谓进阶人员必备,包括Java基础、开源框架、性能优化、kotlin、flutter、微信小程序这几个大的方面,覆盖的知识面非常广,且各个知识点梳理得清楚直观,非常适合进阶人群参考。话不多说,直接上图:完整版PDF可查看获取方式!原创 2022-12-30 22:18:06 · 465 阅读 · 0 评论 -
风口上的车载,最新Android车载开发工程师进阶笔记开源
车载发展日新月异,从最初只能显示时速、油耗等基本信息,到中控液晶屏投入使用,导航和影音系统出现,再到现在大尺寸液晶屏与仪表盘一体化,人机交互方式更加多样与智能。随着芯片与算法等性能增加,车载也将进一步升级,车载开发更是未来可期!而Android作为车载最大的开发系统之一,其将Android系统直接内置于汽车,数据和应用始终是一致的,不存在需要数据同步的问题,极大的满足了智能汽车的开发需求。目前也有很多开发人员转行车载,尤其是Android程序员们,车载无疑是这个时代的风口。原创 2022-11-14 17:09:13 · 130 阅读 · 0 评论 -
【干货预警】阿里P8架构师开源,全套Android开发进阶学习指南
转眼就到了2022年11月,距离新的一年已经不远。这一年,你是奋斗高升还是蹉跎岁月呢,是不幸被裁还是高薪跳槽呢?无论如何,技术的持续更新不会随着时光推移而转变,Kotlin、大前端技术Flutter、RN、小程序等技术走向成熟,音视频、车载逐渐火热,Android的技术栈还会不断扩展,想要不被淘汰,就必须学习提升,提高自身的核心竞争力。原创 2022-11-08 20:54:24 · 122 阅读 · 0 评论 -
K2 编译器是什么?世界第二高峰又是哪座?
众所周知,Kotlin团队正在开发新版Kotlin编译器,并命名为K2。那么K2又是什么意思呢?难道是Kotlin第二版编译器的意思?其实K2指的是乔戈里峰,海拔8611米,仅次于珠穆朗玛峰,为世界第二高峰。登山者通常称乔戈里峰为K2,它虽然海拔排名第二,但因位置偏远及山势陡峭,乔戈里峰通常被认为是最难攀登的8000米以上高峰之一。Kotlin团队通过K2这个名字表示编译器重构工作的难度。好了,没用的冷知识又增加了,在了解了世界第二高峰是哪座之后,我们一起来看下K2编译器是什么?原创 2022-11-05 20:10:17 · 499 阅读 · 0 评论 -
Kotlin协程基础概念深入理解
协程库是Kotlin语言提供的一个库,用于处理异步和并发场景的框架。从官方文档的描述理解,协程实际上就是一个对象。从下面的例子中,来理解协程到底是个什么东西,以及它和线程有什么不一样的地方。原创 2022-10-31 14:05:28 · 312 阅读 · 0 评论 -
互联网大厂开“猿”节流,学会Framework,提高自身核心竞争力
互联网行业不断发展的今天,技术更新迭代,门槛越来越高,从Android开发的程序员今年也能感觉到就业难度的明显提升,这种大环境下,想要不被时代洪流所淘汰,就必须精进技术,提高自身的核心竞争力。首先要找对方向,例如Android Framework 开发就是不错的选择。Framework层是核心应用程序所使用的API框架,在智能终端,x系统开发以及嵌入式领域得到了广泛的使用。原创 2022-10-29 14:21:12 · 79 阅读 · 0 评论 -
【干货分享】腾讯出品Android插件化开发指南+项目实战(附源码)
插件化即将一个完整的工程,按业务划分为不同的插件,都是分治法的一种体现。化整为零,相互配合。越小的模块越容易维护。Android 插件化开发和组件化略有不同,插件化开发是将整个app拆分成多个模块, 这些模块包括一个宿主和多个插件,每个模块都是一个apk,最终打包的时 候宿主apk和插件apk分开打包。原创 2022-10-15 21:59:35 · 276 阅读 · 0 评论 -
为什么有HTTP协议,还要有websocket协议?
TCP协议本身是全双工的,但我们最常用的HTTP1.1,虽然是基于TCP的协议,但它是半双工的,对于大部分需要服务器主动推送数据到客户端的场景,都不太友好,因此我们需要使用支持全双工的websocket协议。在HTTP1.1里。只要客户端不问,服务端就不答。基于这样的特点,对于登录页面这样的简单场景,可以使用定时轮询或者长轮询的方式实现服务器推送(comet)的效果。对于客户端和服务端之间需要频繁交互的复杂场景,比如网页游戏,都可以考虑使用websocket协议。原创 2022-09-20 10:44:13 · 397 阅读 · 0 评论 -
Android Gradle 同步优化
年初开始我们就开始了关于`Gradle Sync`阶段的优化。之前和大家都简单的介绍过工程相关的背景情况了,我们大概有400+的Module,然后一次的同步时间就非常的慢,我们迫切的需要对这个问题进行优化。大部分工作都是和团队内的同学一起完成的,我也只出了一点点力而已。这次写文章真的很倒霉,之前忘了保存导致要重新开始写了。如果不是白嫖了掘金的端午礼盒,拿人手短啊,我已经打算鸽了这篇文章了。原创 2022-09-17 20:09:09 · 240 阅读 · 0 评论 -
Android Span 原理解析
文本相关的自定义 Span 非常简单,它是通过修改 TextPain 的属性来实现自定义效果的。下面是实现可用于修改文本大小和颜色的自定义 Span的官方示例。}@Override}}段落相关的 Span 与文本相关的 Span 不同,无法概括。这里以文本环绕为例,代码如下。原理很简单,就是通过 图片的高 / 行高 获取需要设置的行数,并对指定行返回 图片宽度 + padding 的值就行了。@Override//获取需要设置margin的行数}@Override。原创 2022-09-13 15:05:38 · 634 阅读 · 0 评论 -
Koltin协程:Flow的触发与消费
在Kotlin协程:Flow基础原理的分析中,流的触发与消费都是同时进行的。每当调用collect方法时,会触发流的执行,并同时在collect方法中对流发出的值进行消费。而在协程中,其实还提供了分离流的触发与消费的操作——onEach方法。通过使用onEach方法,可以将原本在collect方法中的消费过程的移动到onEach方法中。这样在构建好一个Flow对象后,不会立刻去执行onEach方法,只有当调用collect方法时,才会真正的去触发流的执行。这样就实现了流的触发与消费的分离。原创 2022-09-12 08:00:00 · 159 阅读 · 0 评论 -
个推解读Android13,发布《Android13适配指南》
8月16日,谷歌宣布Android13新系统的源代码已经上传到Android开源项目(AOSP)中,Android13正式发布。自从2022年2月Android13第一个预览版上线以来,历经7个月的测试和优化,正式版本的Android13终于来了!Android13仍然聚焦个人隐私保护和安全,并提供了万物互联时代下大小屏适配、电池利用率优化等相关的技术开发能力。原创 2022-09-08 10:08:34 · 1391 阅读 · 0 评论 -
【Android进阶】超级全-从okhttp的源码出发,了解客户端的网络请求
艳阳高照,温度高企。然而对于知识与履历不佳的Android开发来说,却仿佛坠入了寒冬。招聘市场能看到的安卓岗位基本上来来去去都是那几家公司,大公司不敢面,小公司待遇不满足。仿佛失业就摆在面前了。所以能怎么办呢,只能继续学习了。OKHttp作为Android十分流行的网络请求框架,有着精妙的设计和丰富的功能。支持了缓存能力,重试重定向能力,还自己实现了一套网络连接传输能力。完美支持客户端的各种网络需求。居家必备,不得不看。原创 2022-09-02 14:09:38 · 607 阅读 · 0 评论 -
一篇文章带你全面读懂Android Backup
手机等智能设备是现代生活中的重要角色,我们会在这些智能设备上做登录账户,设置偏好,拍摄照片,保存联系人等日常操作。这些数据耗费了我们很多时间和精力,对我们而言极为重要。如果我们的设备换代了或者重新安装了某个应用,之前使用的数据如果能自动保留,那将是非常出色的用户体验。而保留数据的第一步则在于Backup环节。......原创 2022-08-24 15:48:58 · 328 阅读 · 0 评论 -
Android八大模块进阶学习笔记(性能优化、百大框架、高级UI、Flutter、Kotlin...)
今年来,**Android开发行业的就业形势愈加严峻**,无论刚刚入门Android学习没有头绪的、还是开发多年想要突破薪资范畴的,都需要跳出编码和业务的局限,学会选型、扩展, 提升编程思维,建立良好的职业规划,并长久的坚持下去。**万事开头难**!许多人心急手却慢,找不到突破的出口,时常陷入焦虑。**但只要迈出第一步,就成功了一半。**无论在如何领域,都要讲究系统的学习方法。.........原创 2022-08-11 09:47:53 · 438 阅读 · 0 评论 -
BATZ,一份《Android架构开发手册》就够,已offer
20天啃完218页,这份《Android架构开发手册》,助我“闯进”字节,已offer前言今年的面试比往年要难得多,各个互联网企业对于Android岗位的要求越来越多,也越来越高,主要是初级岗位已经趋近饱和,但高级岗位又相对来说缺乏,这类的人才偏少,因此作为Android开发人员,我们应该思考的是怎么去往高级人才发展,而不是转学其他语言,要懂得去成为金字塔顶端的人,而不是逃避一直做基层的人。本文主要记录了我面试字节跳动的一个经历以及我在面试前个人的一个准备,当然能够拿到字节的offer,也得益于我拿到原创 2021-09-01 15:50:43 · 1091 阅读 · 8 评论 -
【建议收藏】复盘:2021年最新、最全、最实用的Android岗学习资料/面试真题
前言2021年已经过去一大半也到了"金九银十"火热招聘的时候,很多小伙伴都蠢蠢欲动想要刚给自己涨一波薪资;面试作为涨薪最直接最有效的方式,我们需要花费巨大的精力和时间来准备。除了自身的技术积累之外,掌握一定的面试技巧和熟悉最常见的面试题,一定会让我们如虎添翼。对于那些想面试高级Android岗位的同学来说,热门技术的细节和难点成为了主要考察的内容。此外除了热门技术难点之外算法也是少不了的,虽说算法平时其实很少用到,甚至面试官都对自己出的算法题一知半解,有的大厂就对算法情有独钟,算法刷题就完事了多花点时间原创 2021-09-01 15:38:35 · 132 阅读 · 0 评论 -
华为、深圳、十年Android程序员:“我不干了!!!!”
前言我的大学室友将他深圳60平的房子卖了800万,然后花260万在成都买了130平的精装房,40万买了一辆奥迪,还剩500万存到了银行,正式从特区又杀回了四川。室友说,我的10年青春,换来的真金白银,就是这500万的现金。从今年开始,我一定可以过真真正正的生活,享受生活,而绝不再是被生活鞭打着向前走。我和室友的母校,是一所以电信工程闻名的985大学。2011年本科毕业,我留在了成都,室友则南下深圳入职华为,当年起薪15万。室友如何挣下一套房2015年7月,工作4年后,室友攒下了50万元,其中有近.原创 2021-05-25 21:26:50 · 9103 阅读 · 66 评论 -
Android架构师亲述:我从某度外包到字节,你知道我经历了什么吗?
Android架构师亲述:我从某度外包到字节,你知道我经历了什么吗?朋友在某大型互联网公司担任架构师。刚毕业那年,他以外包的身份进入了某度,那个时候几乎每一天都很焦虑,大家技术能力没差太多,为何我是外包身份?于是愤然辞职,**去了一家 20 人左右的创业公司,担任技术主管。**由于团队不大,毕竟有大厂的落地经验,也很年轻比较有想法,带了2、3个人把自己的想法基本都落地了。某一些时刻还是很满足当时的状态,毕竟压力不大,薪资也不错。有一次和大学同学聚会,和几个在BAT的同学聊了聊技术,发现自己在创业公司原创 2021-05-20 11:02:56 · 402 阅读 · 13 评论 -
遭遇技术瓶颈?分享Android 资深架构师的成长之路(技术详细介绍)
前言众所周知,当下流行的编程语言有Java、PHP、C、C++、Python、Go等。其中,稳坐榜首的仍然是Java编程语言,且在以面向对象思想占主导的应用开发中,Java往往成为其代名词。Java语言的背景强大,开发者众多,一直发展都不错。从普遍的企业的角度来看,存在的问题是:后台被认为是技术核心,客户端却被认为技术含量不高,甚至小企业会让后台人员顺便开发简单的客户端,或者让后台的架构师管理客户端几个人。事实上,客户端技术和后台技术的侧重点完全不同,连编程语言都不同(Android使用Kotlin编程语原创 2021-05-19 15:48:17 · 174 阅读 · 18 评论 -
一名Android程序员如何减少代码中该死的-if-else-嵌套,怎么让代码更简洁?
减少代码中该死的-if-else-嵌套,让代码更简洁!写在前面不知大家有没遇到过像“横放着的金字塔”一样的if else嵌套:if (true) { if (true) { if (true) { if (true) { if (true) { if (true) { } } }原创 2021-05-18 17:39:23 · 531 阅读 · 0 评论 -
多线程总结-JUC中常用的工具类
本文只记录JUC中较常用到的一些工具类,只是列举其常见的使用方法,至于其实现原理,此处不做说明。CountDownLatch一个同步工具类,允许一个或多个线程一直等待,直到其他线程运行完成后再执行。所以在必要时,可以利用它来对各线程的执行结果进行汇总。CountDownLatch主要有两个方法,countDown和await。countDown用来计计数器减1, await则是让当前调用它的线程处于等待状态。可以看如下示例代码:CountDownLatch latch = new CountDownL原创 2021-05-18 14:43:11 · 204 阅读 · 1 评论 -
GitHub热门:程序员的架构师封神之路
GitHub 趋势榜第一的项目来自架构师 Justin Miller,他分享了自己关于「如何成为更好的软件架构师」的想法,这个 repo 现在已有 5.4k star。几年前有人问我:「你是怎么成为一名软件架构师的?」我们就此探讨了必备技能、经验,以及储备相关知识所需的时间和精力。除此之外,我也回顾了自己走过的路、使用或尝试过的技术,以及我从那些五花八门的工作中学到的东西。软件架构师是什么?在进行深层次的探讨之前,我们先来看两个定义:软件架构师:是指那些制定高级设计决策,并确定技术标准(包括软原创 2021-05-11 15:04:30 · 353 阅读 · 6 评论