自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(82)
  • 收藏
  • 关注

原创 [译] Android Studio Project Marble_ Apply Changes(1)

(含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总)面试成功其实是必然的,因为我做足了充分的准备工作,包括刷题啊,看一些Android核心的知识点,看一些面试的博客吸取大家面试的一些经验,

2024-05-17 02:08:47 320

原创 ReactNative动画效果分析(仅从Android端源代码进行分析)

我见过很多技术leader在面试的时候,遇到处于迷茫期的大龄程序员,比面试官年龄都大。这些人有一些共同特征:可能工作了5、6年,还是每天重复给业务部门写代码,工作内容的重复性比较高,没有什么技术含量的工作。问到这些人的职业规划时,他们也没有太多想法。其实30岁到40岁是一个人职业发展的黄金阶段,一定要在业务范围内的扩张,技术广度和深度提升上有自己的计划,才有助于在职业发展上有持续的发展路径,而不至于停滞不前。不断奔跑,你就知道学习的意义所在!

2024-05-16 21:25:54 239

原创 Okhttp的缓存机制(1)

本人从事Android开发已经有十余年,算是一名资深的移动开发架构师了吧。根据我的观察发现,对于很多初中级Android工程师而言,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。所以在此将我十年载,从萌新小白一步步成长为Android移动开发架构师的学习笔记,从Android四大组件到手写实现一个架构设计,我都有一一的对应笔记为你讲解。当然我也为你们整理好了百度、阿里、腾讯、字节跳动等等互联网超级大厂的历年面试真题集锦。

2024-05-16 18:34:10 419

原创 Leetcode面T10(1-9)数组

简历首选内推方式,速度快,效率高啊!然后可以在拉钩,boss,脉脉,大街上看看。简历上写道熟悉什么技术就一定要去熟悉它,不然被问到不会很尴尬!做过什么项目,即使项目体量不大,但也一定要熟悉实现原理!不是你负责的部分,也可以看看同事是怎么实现的,换你来做你会怎么做?做过什么,会什么是广度问题,取决于项目内容。但做过什么,达到怎样一个境界,这是深度问题,和个人学习能力和解决问题的态度有关了。大公司看深度,小公司看广度。大公司面试你会的,小公司面试他们用到的你会不会,也就是岗位匹配度。

2024-05-16 16:52:22 226

原创 Kotlin-+-协程-+-Retrofit-+-MVVM优雅的实现网络请求

我这里整理了一份完整的学习思维以及Android开发知识大全PDF。当然实践出真知,即使有了学习线路也要注重实践,学习过的内容只有结合实操才算是真正的掌握。《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!我这里整理了一份完整的学习思维以及Android开发知识大全PDF。[外链图片转存中…(img-bkv7d91Q-1715845397866)]当然实践出真知,即使有了学习线路也要注重实践,学习过的内容只有结合实操才算是真正的掌握。

2024-05-16 15:43:30 285

原创 Java-vs-Kotlin,Android开发人员应该选择哪种语言?

我一直以来都有整理练习大厂面试题的习惯,有随时跳出舒服圈的准备,也许求职者已经很满意现在的工作,薪酬,觉得习惯而且安逸。不过如果公司突然倒闭,或者部门被裁减,还能找到这样或者更好的工作吗?我建议各位,多刷刷面试题,知道最新的技术,每三个月可以去面试一两家公司,因为你已经有不错的工作了,所以可以带着轻松的心态去面试,同时也可以增加面试的经验。我可以将最近整理的一线互联网公司面试真题+解析分享给大家,大概花了三个月的时间整理2246页,帮助大家学习进步。

2024-05-16 14:06:20 402

原创 Handler连环27问,全都答上来就是P6!

nativeWake(mPtr);}}return true;}复制代码再结合上述的例子,也就是当有新消息要插入表头了,这时候如果之前是阻塞状态(mBlocked=true),那么就要唤醒线程了。也就是在插入消息之前,需要判断是否阻塞,并且表头是不是屏障消息,并且当前消息是不是异步消息。 也就是如果现在是同步屏障模式下,那么要插入的消息又刚好是异步消息,那就不用管插入消息问题了,直接唤醒线程,因为异步消息需要先执行。意思就是,如果之前有异步消息了,那肯定之前就唤醒过了,这时候就不需要再次唤醒了。最后根据的值

2024-05-16 12:43:53 401

原创 Framework学习(二)Zygote进程启动过程

//初始化启动参数boolean startSystemServer = false;String socketName = “zygote”;String abiList = null;//2for (int i = 1; i < argv.length; i++) {if (“start-system-server”.equals(argv[i])) {startSystemServer = true;} else if (argv[i].startsWith(ABI_LIST_ARG)

2024-05-16 10:58:38 316

原创 Netty服务器部署在Android设备上,接收来自PC客户端的Java Socket客户端发送的JSON数据

import io.netty.handler.codec.json.JsonObjectDecoder;import io.netty.handler.codec.string.StringDecoder;import io.netty.handler.codec.string.StringEncoder;import io.netty.handler.logging.LogLevel;import io.netty.handler.logging.LoggingHandler;public class

2024-05-16 01:32:31 716

原创 Kotlin条件控制及循环

首先是一个知识清单:(对于现在的Android及移动互联网来说,我们需要掌握的技术)泛型原理丶反射原理丶Java虚拟机原理丶线程池原理丶注解原理丶注解原理丶序列化Activity知识体系(Activity的生命周期丶Activity的任务栈丶Activity的启动模式丶View源码丶Fragment内核相关丶service原理等)代码框架结构优化(数据结构丶排序算法丶设计模式)APP性能优化(用户体验优化丶适配丶代码调优)热修复丶热升级丶Hook技术丶IOC架构设计。

2024-05-15 23:52:02 877

原创 Kotlin 协程 看这一篇就够了

由于getMessage是一个耗时操作,所以我们将他放在子线程中,而在Android中 UI更新操作不能放在子线程中,所以我们必须将showMessage方法放在UI线程中,在之前我们实现这种需求 只能自己去执行切线程的代码,代码如下所示/***/private fun getMessageFromNetwork() {for (i in 0…1000000) {//这里模拟一个耗时操作}var name = “Huanglinqing”runOnUiThread {showMessage(name)}}在

2024-05-15 22:44:30 1024

原创 James-你有效地管理JVM的垃圾了吗?是时候把垃圾拿出来了!

自动垃圾收集是指对堆内存的查看,并识别哪些对象正在使用哪些对象,以及删除未使用的对象的过程。首先我们看一下自动GC垃圾收集,它的步骤如下:1.标记(Marking)该过程的第一步称为标记。其实就是垃圾收集器识别哪些内存正在使用,哪些内存不在使用的地方。如果必须扫描系统中的所有对象,将是一个非常耗时的过程。2.正常删除(Normal Deletion)正常删除是指移除未引用的对象,留下引用的对象和指向空闲空间的指针。3.压缩删除(Deletion with Compacting)

2024-05-15 19:54:47 398

原创 Handler源码精解读,Android消息机制全面掌握!(1)

我的面试经验分享可能不会去罗列太多的具体题目,因为我依然认为面试经验中最宝贵的不是那一个个具体的题目或者具体的答案,而是结束面试时,那一刻你的感受以及多天之后你的回味~很多人在刚接触这个行业的时候或者是在遇到瓶颈期的时候,总会遇到一些问题,比如学了一段时间感觉没有方向感,不知道该从那里入手去学习,对此我整理了一些资料,需要的可以免费分享给大家在这里小编分享一份自己收录整理上述技术体系图相关的几十套腾讯、头条、阿里、美团等公司的面试题,把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含。

2024-05-15 18:32:27 349

原创 Framework学习(二)Zygote进程启动过程

//初始化启动参数boolean startSystemServer = false;String socketName = “zygote”;String abiList = null;//2for (int i = 1; i < argv.length; i++) {if (“start-system-server”.equals(argv[i])) {startSystemServer = true;} else if (argv[i].startsWith(ABI_LIST_ARG)

2024-05-15 17:04:02 247

原创 [译] 如何将 Stackdriver 连接到智能家居服务器以进行错误记录(1)

由于文章篇幅原因,我只把面试题列了出来,详细的答案,我整理成了一份PDF文档,这份文档还包括了还有高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料 ,帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习。《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!droid学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!**

2024-05-15 16:07:01 347

原创 TextView AutoLink, ClikSpan 与长按事件冲突的解决(1)

其实Android开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。上面分享的腾讯、头条、阿里、美团、字节跳动等公司2019-2021年的高频面试题,博主还把这些技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,上面只是以图片的形式给大家展示一部分。【Android思维脑图(技能树)】知识不体系?

2024-05-15 13:52:35 689

原创 Realm数据库使用教程(三):查询数据(2)

titles.add(“异步操作:findAllAsync查询(RealmChangeListener)”);case 2://异步操作:findAllAsync查询(RealmChangeListener)titles.add(“异步操作:findAllAsync查询(isLoaded)”);.equalTo(“men.age”, 20)//这是他的子类Men的属性。titles.add(“equalTo :根据条件单级查询”);titles.add(“equalTo :根据条件多级查询”);

2024-05-15 12:12:07 257

原创 OkHttp框架入门笔记

(包括Java在Android开发中应用、APP框架知识体系、高级UI、全方位性能调优,NDK开发,音视频技术,人工智能技术,跨平台技术等技术资料),希望能帮助到你面试前的复习,且找到一个好的工作,也节省大家在网上搜索资料的时间来学习。针对于上面的问题,我总结出了互联网公司Android程序员面试涉及到的绝大部分面试题及答案,并整理做成了文档,以及系统的进阶学习视频资料。平台技术等技术资料),希望能帮助到你面试前的复习,且找到一个好的工作,也节省大家在网上搜索资料的时间来学习。

2024-05-15 07:08:57 705

原创 LeakCanary核心源码解析

关于gc的补充点这里补充一点东西,也是之前被某厂问到了,当时没答出来的,主要是之前没看那么细,后面又翻了一下源码。当时问的是上面gc的时候,是怎么gc的?第二次removeWeaklyReachableReferences是什么时候触发的?当时想的是gc不都是System.gc嘛,还能有什么骚操作?回来打开一下源码,咦,发现还真有。。那从GCTrigger入手了。发现runGc里面不是直接调用System.gc的,用了一个Runtime.getRuntime().gc(),这是啥?

2024-05-15 05:27:01 935

原创 Kotlin(2)-泛型与集合(1)

*要想成为高级安卓工程师,必须掌握许多基础的知识。**在工作中,这些原理可以极大的帮助我们理解技术,在面试中,更是可以帮助我们应对大厂面试官的刁难。《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!**要想成为高级安卓工程师,必须掌握许多基础的知识。**在工作中,这些原理可以极大的帮助我们理解技术,在面试中,更是可以帮助我们应对大厂面试官的刁难。[外链图片转存中…(img-5jF3AAnS-1715717876158)]

2024-05-15 04:18:08 750

原创 Java 真的失宠?谷歌宣布 Kotlin 现在是 Android 开发的首选语言?

*要想成为高级安卓工程师,必须掌握许多基础的知识。**在工作中,这些原理可以极大的帮助我们理解技术,在面试中,更是可以帮助我们应对大厂面试官的刁难。《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!大厂面试官的刁难。[外链图片转存中…(img-rpWAPga5-1715712168551)][外链图片转存中…(img-eC4wrvsq-1715712168553)]《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门。

2024-05-15 02:43:01 743

原创 Handler源码精解读,Android消息机制全面掌握!(1)

我的面试经验分享可能不会去罗列太多的具体题目,因为我依然认为面试经验中最宝贵的不是那一个个具体的题目或者具体的答案,而是结束面试时,那一刻你的感受以及多天之后你的回味~很多人在刚接触这个行业的时候或者是在遇到瓶颈期的时候,总会遇到一些问题,比如学了一段时间感觉没有方向感,不知道该从那里入手去学习,对此我整理了一些资料,需要的可以免费分享给大家在这里小编分享一份自己收录整理上述技术体系图相关的几十套腾讯、头条、阿里、美团等公司的面试题,把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含。

2024-05-15 01:19:36 342

原创 Framework学习(二)Zygote进程启动过程

//初始化启动参数boolean startSystemServer = false;String socketName = “zygote”;String abiList = null;//2for (int i = 1; i < argv.length; i++) {if (“start-system-server”.equals(argv[i])) {startSystemServer = true;} else if (argv[i].startsWith(ABI_LIST_ARG)

2024-05-14 23:50:52 976

原创 Window 、Activity、 View 三者关系

最后小编想说:不论以后选择什么方向发展,目前重要的是把Android方面的技术学好,毕竟其实对于程序员来说,要学习的知识内容、技术有太多太多,要想不被环境淘汰就只有不断提升自己,从来都是我们去适应环境,而不是环境来适应我们!这里附上我整理的几十套腾讯、字节跳动,京东,小米,头条、阿里、美团等公司19年的Android面试题。把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节。由于篇幅有限,这里以图片的形式给大家展示一小部分。

2024-05-14 21:45:42 864

原创 rxjava背压

UI这块知识是现今使用者最多的。当年火爆一时的Android入门培训,学会这小块知识就能随便找到不错的工作了。不过很显然现在远远不够了,拒绝无休止的CV,亲自去项目实战,读源码,研究原理吧!

2024-05-14 19:49:37 893

原创 RabbitMQ 入门 Helloworld(1)

注意:producer(生产者),consumer(消费者),broker(RabbitMQ服务)并不需要部署在同一台机器上,实际上在大多数实际的应用中,也不会部署在同一台机器上。2、Java入门实例一个producer发送消息,一个接收者接收消息,并在控制台打印出来。如下图:注:需要在官网下载rabbitmq-java-client-bin-*.zip将jar放入项目的classpath.**发送端:**Send.java 连接到RabbitMQ(此时服务需要启动),发送一条数据,然后退出。package

2024-05-14 18:27:13 523

原创 MVVM与Jetpack架构核心技术DataBinding从入门到通透【第二篇】(附源码解析视频教程)

@Overridepublic View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {FragmentBlankBinding binding = DataBindingUtil.inflate(inflater, R.layout.fragment_blank, container, false);binding.setHint(“Hello”);re

2024-05-14 17:02:04 509

原创 Kotlin学习(2)语法(1)

但是kotlin没有,所以kotlin 用的是 if() … else …这样实现三元表达式其他的if用法和Java无异3.2 when表达式和Java中的 是类似的。因为kotlin是极简风格变成,所以它的when比switch写起来更加方便,下面一个例子:fun caseWhen(obj: Any?) {when (obj) {0, 1, 2, 3 -> print(“是0123中的一个”)“你好” -> print(“是你好”)else -> print(“什么都不是”)}}其中的 相当于 中的

2024-05-14 15:29:25 728

原创 Kotin学习手记——类、接口、扩展方法、空类型

与java相同的是,kotlin抽象类中也可以有已实现的方法和纯抽象方法,但是,与java不同的是,如果子类要覆写抽象类里的已实现方法,必须在该方法前面加。val title = person.title // 此时的title类型是java平台的String类型,不是kotlin的String类型。类和扩展方法不一定在同一个kt文件中,但必须在方法的外层定义,即不能在某个函数方法中定义,必须是顶层的,如不能在main方法中定义。与接口一样,继承抽象类也是加冒号,不过后面的抽象类要写构造函数。

2024-05-14 14:20:42 608

原创 HarmonyOS-Service&Android-Service(2)

我的面试经验分享可能不会去罗列太多的具体题目,因为我依然认为面试经验中最宝贵的不是那一个个具体的题目或者具体的答案,而是结束面试时,那一刻你的感受以及多天之后你的回味~很多人在刚接触这个行业的时候或者是在遇到瓶颈期的时候,总会遇到一些问题,比如学了一段时间感觉没有方向感,不知道该从那里入手去学习,对此我整理了一些资料,需要的可以免费分享给大家在这里小编分享一份自己收录整理上述技术体系图相关的几十套腾讯、头条、阿里、美团等公司的面试题,把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含。

2024-05-14 03:01:35 729

原创 Framework学习(十一)WindowManager体系

都说三年是程序员的一个坎,能否晋升或者提高自己的核心竞争力,这几年就十分关键。技术发展的这么快,从哪些方面开始学习,才能达到高级工程师水平,最后进阶到Android架构师/技术专家?我总结了这 5大块;我搜集整理过这几年阿里,以及腾讯,字节跳动,华为,小米等公司的面试题,把面试的要求和技术点梳理成一份大而全的“ Android架构师”面试 PDF(实际上比预期多花了不少精力),包含知识脉络 + 分支细节。Java语言与原理;大厂,小厂。Android面试先看你熟不熟悉Java语言高级UI与自定义view。

2024-05-14 01:30:02 330

原创 [Android]从源码的角度理解为什么Dialog不能在Application中展示(1)

看到这篇文章的人不知道有多少是和我一样的Android程序员。35岁,这是我们这个行业普遍的失业高发阶段,这种情况下如果还不提升自己的技能,进阶发展,我想,很可能就是本行业的职业生涯的终点了。我们要有危机意识,切莫等到一切都成定局时才开始追悔莫及。只要有规划的,有系统地学习,进阶提升自己并不难,给自己多充一点电,你才能走的更远。千里之行始于足下。这是上小学时,那种一元钱一个的日记本上每一页下面都印刷有的一句话,当时只觉得这句话很短,后来渐渐长大才慢慢明白这句话的真正的含义。

2024-05-13 20:33:39 882

原创 TextView AutoLink, ClikSpan 与长按事件冲突的解决

代码真的是重质不重量,质量高的代码,是当前代码界提倡的,当然写出高质量的代码肯定需要一个相当高的专业素养,这需要在日常的代码书写中逐渐去吸收掌握,谁不是每天都在学习呀,目的还不是为了一个,为实现某个功能写出高质量的代码。所以,长征路还长,大家还是好好地做个务实的程序员吧。最后,小编这里有一系列Android提升学习资料,有兴趣的小伙伴们可以来看下哦~《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!

2024-05-13 18:52:45 511

原创 Realm数据库使用教程(六):数据迁移(1)

最后这里放上我这段时间复习的资料,这个资料也是偶然一位朋友分享给我的,里面包含了腾讯、字节跳动、阿里、百度2020-2021面试真题解析,并且把每个技术点整理成了视频和PDF(知识脉络 + 诸多细节)。还有高级架构技术进阶脑图、高级进阶架构资料帮助大家学习提升进阶,这里我也免费分享给大家也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。一起互勉~《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!

2024-05-13 17:12:52 688

原创 MVPArms官方快速组件化方案开源,来自5K star的信赖

好了, 进入正题!组件化简单概括就是把一个功能完整的App或模块拆分成多个子模块, 每个子模块可以独立编译和运行, 也可以任意组合成另一个新的App或模块, 每个模块即不相互依赖但又可以相互交互, 遇到某些特殊情况甚至可以升级或者降级。

2024-05-13 14:43:19 525

原创 Kotlin学习日志(五)类与对象

其实很简单就下面这张图,含概了Android所有需要学的知识点,一共8大板块:架构师筑基必备技能Android框架体系架构(高级UI+FrameWork源码)360°Androidapp全方位性能调优设计思想解读开源框架NDK模块开发移动架构师专题项目实战环节移动架构师不可不学习微信小程序混合开发的flutterAndroid学习的资料我呢,把上面八大板块的分支都系统的做了一份学习系统的资料和视频,大概就下面这些,我就不全部写出来了,不然太长了影响大家的阅读。

2024-05-13 13:13:35 951

原创 KMP算法(1)

那我们该怎么做才能做到年薪60万+呢,对于程序员来说,只有不断学习,不断提升自己的实力。我之前有篇文章提到过,感兴趣的可以看看,到底要学习哪些知识才能达到年薪60万+。通过职友集数据可以查看,以北京 Android 相关岗位为例,其中 【20k-30k】 薪酬的 Android 工程师,占到了整体从业者的 30.8%!北京 Android 工程师「工资收入水平 」今天重点内容是怎么去学,怎么提高自己的技术。1.合理安排时间2.找对好的系统的学习资料3.有老师带,可以随时解决问题。

2024-05-13 12:03:40 550

原创 Handler源码精解读,Android消息机制全面掌握!

!最后放上一个大概的Android学习方向及思路(详细的内容太多了~),提供给大家:对于程序员来说,要学习的知识内容、技术有太多太多,这里就先放上一部分,其他的内容有机会在后面的文章向大家呈现出来,不过我自己所有的学习资料都整理成了一个文档,一直在不断学习,希望能帮助到大家,也节省大家在网上搜索资料的时间来学习,也可以分享动态给身边好友一起学习!为什么某些人会一直比你优秀,是因为他本身就很优秀还一直在持续努力变得更优秀,而你是不是还在满足于现状内心在窃喜!Android架构师之路很漫长,一起共勉吧!

2024-05-13 09:07:25 209

原创 Framework学习(二)Zygote进程启动过程

//初始化启动参数boolean startSystemServer = false;String socketName = “zygote”;String abiList = null;//2for (int i = 1; i < argv.length; i++) {if (“start-system-server”.equals(argv[i])) {startSystemServer = true;} else if (argv[i].startsWith(ABI_LIST_ARG)

2024-05-13 07:37:56 914

原创 [Android]从源码的角度理解为什么Dialog不能在Application中展示(1)

看到这篇文章的人不知道有多少是和我一样的Android程序员。35岁,这是我们这个行业普遍的失业高发阶段,这种情况下如果还不提升自己的技能,进阶发展,我想,很可能就是本行业的职业生涯的终点了。我们要有危机意识,切莫等到一切都成定局时才开始追悔莫及。只要有规划的,有系统地学习,进阶提升自己并不难,给自己多充一点电,你才能走的更远。千里之行始于足下。这是上小学时,那种一元钱一个的日记本上每一页下面都印刷有的一句话,当时只觉得这句话很短,后来渐渐长大才慢慢明白这句话的真正的含义。

2024-05-13 03:38:34 585

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除