- 博客(222)
- 收藏
- 关注
原创 如果你在中小厂,这些你一定要搞懂
View的绘制流程第一步:OnMeasure():测量视图大小。从顶层父View到子View递归调用measure方法,measure方法又回调OnMeasure。第二步:OnLayout():确定View位置,进行页面布局。从顶层父View向子View的递归调用view.layout方法的过程,即父View根据上一步measure子View所得到的布局大小和布局参数,将子View放在合适的位置上。第三步:OnDraw():绘制视图。ViewRoot创建一个Canvas对象,然后调用OnDraw()。
2024-05-17 00:45:07
877
原创 减少代码中该死的-if-else-嵌套,让代码更简洁!
讲到这里大家有没收获呢?总结下减少if else把接口分为外部和内部接口,所有空值判断放在外部接口完成;而内部接口传入的变量由外部接口保证不为空,从而减少空值判断。利用多态,把业务判断消除,各子类分别关注自己的实现,并实现子类的创建方法,避免用户了解过多的类。把分支状态信息预先缓存在Map里,直接get获取具体值,消除分支。好了,到此就介绍完了,希望大家以后写代码能注意,有则避之,无则加勉。希望大家写的代码越来越简洁~
2024-05-16 18:27:03
359
原创 一个二本本科生如何才能进入腾讯,阿里,百度这些大厂?(2)
00后已经进入网易,下一步定位阿里,年轻人这么拼,90后不该有焦虑吗?【专升本,后面进网易实习了,成功转正】今年,我在腾讯面了三次:写给Android程序员,你的努力终将闪光_m0_46962786的博客-优快云博客【坚持学习,屡败屡战,最后得偿所愿】五年Android,靠着这份资料,我从无名小厂成功跳槽字节,工资从12K涨到了30K【励志逆袭】乘风破浪:都30岁“老人”了,居然还转职程序员?_m0_46962786的博客-优快云博客【这个没有奇迹,但是他的努力没白费】
2024-05-16 04:40:41
816
原创 Jetpack Compose 自定义布局以及固有特性测量
我们自定义一个Modifier的扩展函数,Modifier.customCornerPosLayout。该方法的作用就是可以按我们传入的CornerPosition,去把view放置在左上角,左下角,右上角,右下角。代码如下:TopLeft,TopRight,when(pos){复制代码首先我们声明一个枚举。叫CornerPosition,枚举有四种取值,TopLeft表示左上角,TopRight右上角,BottomLeft左下角,BottomRight又下角。
2024-05-15 15:09:34
362
原创 JVM常见面试题解析(1)
类加载器 就是根据指定全限定名称将class文件加载到JVM内存,转为Class对象。启动类加载器(Bootstrap ClassLoader):由C++语言实现(针对HotSpot),负责将存放在\lib目录或-Xbootclasspath参数指定的路径中的类库加载到内存中。其他类加载器:由Java语言实现,继承自抽象类ClassLoader。
2024-05-14 16:42:18
660
原创 Flutter使用TabBar问题小结(1)
Tab的图标如果使用的是Icon,则自带点击图标变化效果。但如果用的是自定义Image,则需要通过setState管理Image引用的资源才能实现其效果。全部代码如下//底部导航控制器//选中位置//Tab1的图片资源//Tab2的图片资源@override//初始化默认图片资源//TabBar监听器@override… //此处代码省略]),tabs: [Tab(Tab(],),),),
2024-05-12 23:55:08
407
原创 Android性能优化:这些绘制优化你一定不能忽略!(系统学习)
过度绘制 会导致屏幕显示的色块不同,具体如下附:示例说明clipRect()作用:给 Canvas 设置一个裁剪区域,只有在该区域内才会被绘制,区域之外的都不绘制布局 = 左抽屉布局@Override// …仅贴出关键代码// 1. 遍历 DrawerLayout 的 child view,拿到抽屉布局i++) {= VISIBLE||!continue;// a. 若是左抽屉布局。
2024-05-11 18:00:04
276
原创 Android应用优化之流畅度实操
UI布局优化使用LinearLayout代替RelativeLayout,因为LinearLayout性能上稍微好一点如果复杂的布局,我们可以使用RelativeLayout来解决复杂的布局关系尽量少用LinearLayout的layout_weight属性,因为它会消耗较大的性能对应可以复用的布局使用include标签来进行复用使用ViewStub标签来加载一些不是必定出现使用的布局使用merge来减少不必要的层级嵌套去除多余的背景颜色,减少过度绘制问题。
2024-05-11 11:40:33
345
原创 Android UI性能优化实战 识别绘制中的性能问题
Android SDK中包含这个工具,不过大家肯定也不陌生了~~~那么就简单说一下它在哪,如何使用,以及真机无法使用该工具该怎么解决。Hierarchy Viewer在哪?本博客使用IDE为Android Studio,那么只需要按照下图步骤即可找到:其他IDE的兄弟,找到这个肯定没问题,不过还是建议慢慢的转向AS。如何使用?一图胜千言:关注下,所有框住的区域~~无法连接真机调试怎么办?如果你不存在这样的问题,直接跳过本节。
2024-05-10 17:55:07
619
原创 震惊:继阿里要求P8级别尽快实现全员35后,腾讯给员工发起了PIP
其实客户端开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。(以下体系的复习资料是我从各路大佬收集整理好的)《Android开发七大模块核心知识笔记》《960全网最全Android开发笔记》《379页Android开发面试宝典》历时半年,我们整理了这份市面上最全面的安卓面试题解析大全包含了腾讯、百度、小米、阿里、乐视、美团、58、猎豹、360、新浪、搜狐等一线互联网公司面试被问到的题目。
2024-05-08 18:04:39
701
原创 金九银十面试心得:一个BAT大厂面试者整理的Android面试题目!
最近金九银十面试旺季身边好多朋友都裸辞了,出去旅游了一圈之后,回来才发现,工作并没有想象中那么好找。朋友小A一心只想进大厂面试Android,于是面试了阿里巴巴、美团、滴滴等,最后在某个大厂经历了5轮面试后拿到了offer。网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
2024-05-08 16:58:29
717
原创 这是一份面向Android开发者的复习指南|掘金技术征文
Binder是Android中特有的IPC方式,引用《Android开发艺术探索》中的话(略有改动):从IPC角度来说,Binder是Android中的一种跨进程通信方式;Binder还可以理解为虚拟的物理设备,它的设备驱动是/dev/binder;从来讲,Binder是连接各种Manager和对应的的桥梁。从面向对象和CS模型来讲,Client通过Binder和远程的Server进行通讯。基于Binder,Android还实现了其他的IPC方式,比如AIDLMessenger和。
2024-05-08 15:45:18
998
原创 谈谈FFmpeg的解码流程? 说说你能够认识的函数作用
在技术领域内,没有任何一门课程可以让你学完后一劳永逸,再好的课程也只能是“师傅领进门,修行靠个人”。“学无止境”这句话,在任何技术领域,都不只是良好的习惯,更是程序员和工程师们不被时代淘汰、获得更好机会和发展的必要前提。如果你觉得自己学习效率低,缺乏正确的指导,可以一起学习交流!加入我们吧!群内有许多来自一线的技术大牛,也有在小厂或外包公司奋斗的码农,我们致力打造一个平等,高质量的Android交流圈子,不一定能短期就让每个人的技术突飞猛进,但从长远来说,眼光,格局,长远发展的方向才是最重要的。
2024-05-08 14:23:11
716
原创 视频直播技术大全、直播架构、技术原理和实现思路方案整理(1)
☞ 主要作用:一个视频文件往往会包含图像和音频,还有一些配置信息(如图像和音频的关联,如何解码它们等):这些内容需要按照一定的规则组织、封装起来.☞ 注意:会发现封装格式跟文件格式一样,因为一般视频文件格式的后缀名即采用相应的视频封装格式的名称,所以视频文件格式就是视频封装格式。直播基础知识介绍============================================================================================================
2024-05-08 13:09:15
924
原创 腾讯面试必问:不能逃避的synchronize关键字。
synchronized用的锁是存在Java对象头里的。JVM基于进入和退出Monitor对象来实现方法同步和代码块同步。代码块同步是使用monitorenter和monitorexit指令实现的,monitorenter指令是在编译后插入到同步代码块的开始位置,而monitorexit是插入到方法结束处和异常处。任何对象都有一个monitor与之关联,当且一个monitor被持有后,它将处于锁定状态。根据虚拟机规范的要求,在执行monitorenter指令时,首先要去尝试获取对象的锁,如果这个对象没被锁定
2024-05-08 11:54:00
962
原创 我当Android架构师的那几年,缘起—发展—下坡路—赋闲—重新开始
作为一名从事Android的开发者,很多人最近都在和我吐槽Android是不是快要凉了?而在我看来这正是市场成熟的表现,所有的市场都是温水煮青蛙,永远会淘汰掉不愿意学习改变,安于现状的那批人,希望所有的人能在大浪淘沙中留下来,因为对于市场的逐渐成熟,平凡并不是我们唯一的答案!《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取![外链图片转存中…(img-aYSKfhOJ-1715136900556)]
2024-05-08 10:55:49
1072
原创 腾讯Android社招面试源码相关,对不起还是问到三次握手-四次握手了
写到这里也结束了,在文章最后放上一个小小的福利,以下为小编自己在学习过程中整理出的一个学习思路及方向,从事互联网开发,最主要的是要学好技术,而学习技术是一条慢长而艰苦的道路,不能靠一时激情,也不是熬几天几夜就能学好的,必须养成平时努力学习的习惯,更加需要准确的学习方向达到有效的学习效果。《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!厂面试真题+项目实战源码》点击传送门,即可获取!**
2024-05-08 09:14:58
591
原创 编码_解码那些事(1)
tmp.ensureCapacity(src.length * 6)while (i < src.length) {j = src[i]when {Character.isDigit(j)|| Character.isLowerCase(j)|| Character.isUpperCase(j)|| specialSymbols.contains(j) -> tmp.append(j)j.toInt() < 128 -> {tmp.append(“%”)if (j.toInt() < 1
2024-05-08 08:08:34
828
原创 窥探Flutter的前世今身
我们把UI和框架拆开,分别来做解释。UI是User Interface的缩写,是用户界面的意思,但在我们软件领域普遍的认识里,UI设计实际是指软件的人机交互、操作逻辑、界面美观性的整体设计,所以UI就是指软件的交互操作和视觉效果。框架在百度百科上的释义如下(大家感受下):框架(framework)是一个框子——指其约束性,也是一个架子——指其支撑性。是一个基本概念上的结构,用于去解决或者处理复杂的问题。
2024-05-08 06:53:09
1010
原创 瞬息万变的技术圈与焦虑的技术人,进阶Android需要掌握的那几个关键技术!(1)
最后为了帮助大家深刻理解Android相关知识点的原理以及面试相关知识,这里放上相关的我搜集整理的14套腾讯、字节跳动、阿里、百度等2021最新面试真题解析,我把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包知识脉络 + 诸多细节。网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!
2024-05-08 05:00:58
836
原创 熬夜再战Android之修炼Kotlin-点击事件篇
为什么很多程序员做不了架构师?1、良好健康的职业规划很重要,但大多数人都忽略了2、学习的习惯很重要,持之以恒才是正解。3、编程思维没能提升一个台阶,局限在了编码,业务,没考虑过选型、扩展4、身边没有好的架构师引导、培养。所处的圈子对程序员的成长影响巨大。金九银十面试季,跳槽季,整理面试题已经成了我多年的习惯!在这里我和身边一些朋友特意整理了一份快速进阶为Android高级工程师的系统且全面的学习资料。涵盖了Android初级——Android高级架构师进阶必备的一些学习技能。
2024-05-08 03:45:19
1253
原创 深入理解Android缓存机制(一)缓存简介
在这里我和身边一些朋友特意整理了一份快速进阶为Android高级工程师的系统且全面的学习资料。涵盖了Android初级——Android高级架构师进阶必备的一些学习技能。附上:我们之前因为秋招收集的二十套一二线互联网公司Android面试真题(含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总。
2024-05-08 02:38:42
1242
原创 查漏补缺:HashMap面试必问的6个点,你掌握了多少呢?
这里附上上述的技术体系图相关的几十套腾讯、头条、阿里、美团等公司2021年的面试题,把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,这里以图片的形式给大家展示一部分。当程序员容易,当一个优秀的程序员是需要不断学习的,从初级程序员到高级程序员,从初级架构师到资深架构师,或者走向管理,从技术经理到技术总监,每个阶段都需要掌握不同的能力。早早确定自己的职业方向,才能在工作和能力提升中甩开同龄人。
2024-05-08 01:25:13
363
原创 春招总结!大厂淘汰率80%,面试难度极高!揭秘今年春招面试必问问题有哪些?
这里我希望可以帮助到大家提升进阶。Android学习PDF+架构视频+面试文档+源码笔记高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料这几块的内容。非常适合近期有面试和想在技术道路上继续精进的朋友。喜欢本文的话,不妨给我点个小赞、评论区留言或者转发支持一下呗~《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!
2024-05-08 00:11:52
553
原创 换个姿势,带着问题深入学习Handler,手撕吊打面试官!
由于篇幅限制,文档的详解资料太全面,细节内容太多,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!由于整个文档比较全面,内容比较多,篇幅不允许,下面以截图方式展示。《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!ctivity里的非静态方法了,所以加上「弱引用」持有外部Activity。代码示例如下//创建一个弱引用持有外部类的对象@Override= null) {case 0: {
2024-05-07 22:12:16
615
原创 手动实现Android热修复(1)
在BaseDexClassLoader中 , 紧接着构造函数的是一个叫findClass的方法 , 这个方法用来加载dex文件中对应的class文件.大体上不难理解, 拿到初始化完成的 pathList 之后 , 根据类名找出相应的class字节码文件, 如果没有异常直接返回class.接下来我们继续跟进pathListDexPathList 源码在这里好了, 点开源码不要慌 , 我们目前只需要知道两个东西:构造函数. 我们在BaseDexClassLoader中实例化DexPathList需要用到find
2024-05-07 21:02:29
654
原创 想了解Glide的核心实现原理-你绝对不能错过这篇文章!
总之啊,家里没矿的同学们,如果你们想以后的日子过得好一些,多想想你们的业余时间怎么安排吧;技术方面的提升肯定是重中之重,但是技术外的一些“软实力”也不能完全忽视,很多时候升职确实是因为你的技术足够强,但也与你的“软实力”密切相关在这我也分享一份大佬自己收录整理的Android学习PDF+架构视频+面试文档+源码笔记,还有高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料这些都是我闲暇还会反复翻阅并给下属员工学习的精品资料。
2024-05-07 19:50:13
684
原创 张一鸣:“我需要的人才,至少具备这三个标准!”
目前Android APP开发主流语言就是Java语言,Java语言最大的特性就是提高了软件的交互可能性,可以说安卓手机几乎所有应用程序都是利用Java语言来进行编写的。
2024-05-07 18:40:37
1049
原创 已膜拜!GitHub大佬的Android进阶学习资源库太强了,每份学习手册都优质详细!(已放下载地址)
对于很多初中级Android工程师而言,想要提升技能,往往是自己摸索成长。而不成体系的学习效果低效漫长且无助。时间久了,付出巨大的时间成本和努力,没有看到应有的效果,会气馁是再正常不过的。所以学习一定要找到最适合自己的方式,有一个思路方法,不然不止浪费时间,更可能把未来发展都一起耽误了。如果你是卡在缺少学习资源的瓶颈上,那么刚刚好我能帮到你。《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!
2024-05-07 17:30:21
339
原创 从阿里手册引出的Join查询思考
学习技术是一条慢长而艰苦的道路,不能靠一时激情,也不是熬几天几夜就能学好的,必须养成平时努力学习的习惯。所以:贵在坚持!最后如何才能让我们在面试中对答如流呢?答案当然是平时在工作或者学习中多提升自身实力的啦,那如何才能正确的学习,有方向的学习呢?有没有免费资料可以借鉴?为此我整理了一份Android学习资料路线:这里是一部分我工作以来以及参与过的大大小小的面试收集总结出来的一套BAT大厂面试资料专题包,主要还是希望大家在如今大环境不好的情况下面试能够顺利一点,希望可以帮助到大家。
2024-05-07 15:24:50
358
原创 字节跳动面试:怎么加载巨图不撑爆内存?(深度解析,值得收藏)
mScroller = new Scroller(getContext());//所放器mMatrix = new Matrix();//手势识别mGestureDetector = new GestureDetector(getContext(),this);mScaleGestureDetector = new ScaleGestureDetector(getContext(),this);}BitmapFactory.Options我们很熟悉,用来配置Bitmap相关的参数,比如获取Bit
2024-05-07 12:00:00
646
原创 字节客增慢 SQL 治理体系(2)
跳槽季整理面试题已经成了我多年的习惯!在这里我和身边一些朋友特意整理了一份快速进阶为Android高级工程师的系统且全面的学习资料。涵盖了Android初级——Android高级架构师进阶必备的一些学习技能。附上:我们之前因为秋招收集的二十套一二线互联网公司Android面试真题(含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总。
2024-05-07 10:58:13
755
原创 头条Android岗三面:说说ThreadLocal是如何工作的?工作原理是什么?
由于题目很多整理答案的工作量太大,所以仅限于提供知识点,详细的很多问题和参考答案我都整理成了 PDF文件《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!了 PDF文件[外链图片转存中…(img-FZf9adNx-1715046505205)][外链图片转存中…(img-8yYjvsr6-1715046505206)][外链图片转存中…(img-2rWQLPrc-1715046505207)]
2024-05-07 09:49:13
632
原创 号外!号外!全网第一手Android P刘海屏适配大揭秘,唯一Kotlin算法(1)
UI这块知识是现今使用者最多的。当年火爆一时的Android入门培训,学会这小块知识就能随便找到不错的工作了。不过很显然现在远远不够了,拒绝无休止的CV,亲自去项目实战,读源码,研究原理吧!
2024-05-07 03:20:30
661
原创 华为裁员34岁以上程序员,90后的中年危机,即将在职场引爆(1)
我的面试经验分享可能不会去罗列太多的具体题目,因为我依然认为面试经验中最宝贵的不是那一个个具体的题目或者具体的答案,而是结束面试时,那一刻你的感受以及多天之后你的回味~很多人在刚接触这个行业的时候或者是在遇到瓶颈期的时候,总会遇到一些问题,比如学了一段时间感觉没有方向感,不知道该从那里入手去学习,对此我整理了一些资料,需要的可以免费分享给大家在这里小编分享一份自己收录整理上述技术体系图相关的几十套腾讯、头条、阿里、美团等公司的面试题,把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含。
2024-05-07 02:08:30
1105
原创 凭借这938页Android面试题合集,拿下了字节,滴滴、美团、携程、腾讯等offer
我搜集整理过这几年阿里,以及腾讯,字节跳动,华为,小米等公司的面试题,把面试的要求和技术点梳理成一份大而全的“ Android架构师”面试 Xmind(实际上比预期多花了不少精力),包含知识脉络 + 分支细节。网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。组件化,热升级,热修复,框架设计。
2024-05-07 00:47:41
853
原创 全网最详细的-动态Toolbar-开发实践总结,99%的程序员都在看!
如果你想要修改 ActionMenu Item 的文字大小,也可以在theme中设置加上如下设置20sp以上就是目前使用。
2024-05-06 23:18:07
745
原创 作为一名Android工程师,了解Framework层对工作有什么帮助吗?
其实Android开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。当然我也为你们整理好了百度、阿里、腾讯、字节跳动等等互联网超级大厂的历年面试真题集锦。这也是我这些年来养成的习惯,一定要学会把好的东西,归纳整理,然后系统的消化吸收,这样才能极大的提高学习效率和成长进阶。碎片、零散化的东西,我觉得最没有价值的。就好比你给我一张扑克牌,我只会觉得它是一张废纸,但如果你给我一副扑克牌,它便有了它的价值。
2024-05-06 21:53:28
808
原创 人们不都用-Flutter-开发了?iOS-彻底沦为一个-Flutter-应用的载体了?
对于 Flutter、RN、Weex、小程序这些跨平台解决方案的审核风险,曾与相关团队专门沟通过这块。首先 RN 和 Weex 本身是类似的解决方案,都是期望团队开发业务的同学可以开发一套代码供多端使用,更多追求的是跨平台能力,在做这个方案的同时正好也具备了动态化能力,关于动态性方面本身具有一定的审核风险,这里明确表示是不合规的,参考审核规则 2.5.2苹果动态性审核条款,只不过 RN 和 Weex 的风险不如当年的 JSPatch 那么大;
2024-05-06 20:24:05
820
原创 专科毕业三年,从外包公司到今日头条offer,我想把面试心得分享给你
面试是一个不断学习、不断自我提升的过程,有机会还是出去面面,至少能想到查漏补缺效果,而且有些知识点,可能你自以为知道,但让你说,并不一定能说得很好。有些东西有压力才有动力,而学到的知识点,都是钱(因为技术人员大部分情况是根据你的能力来定级、来发薪水的),技多不压身。附上我的面试各大专题整理: 面试指南,满满的都是干货,希望对大家有帮助!《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!因为技术人员大部分情况是根据你的能力来定级、来发薪水的),技多不压身。
2024-05-06 18:49:03
910
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅