自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 一文带你读懂 Android 手机为何总是卡顿、死机?

在我们日常生活中,手机已经成为我们不可或缺的物品,曾经网上有一个搞笑的段子:“现在可以没有老婆,没有工作,但是不能没有手机”; 虽说是搞笑段子,但足以看出手机在人民心中的地位了;然而手机使用一段时间后,我们就会发现手机会变得十分卡顿甚至死机,安卓手机卡顿的原因一直是大家十分关注的焦点现在有一种说法,也是一位开发者所说: “iOS的App中70%的代码是有用代码,30%是冗余或广告代码;而安卓 App正好相反,70%的是冗余或广告代码,只有30%是有用代码”为了大家能够更好理解“冗余(rǒng yú)”,它的

2022-07-05 16:44:22 1513 1

原创 【经典总结】一个View,从无到有会走的三个流程,你知道吗?

一个View,从无到有会走三个流程,也就是老生常谈的measure,layout,draw三流程我们都知道Android视图是由一层一层构成的层级结构,直白点说,就是父View包含子View而子View又可以包含子View; 所以绘制流程是由最外层的View开始,一步一步向内传递执行;而整个过程又是递归等待的,最外层的View需要等内层所有的View执行完绘制流程才结束,所以便有了”减少布局层级,可以有效提升App性能”这一经典总结View 绘制中主要流程分为measure,layout, draw 三个阶

2022-07-04 20:55:13 555

原创 编程语言历史时间轴概览——Kotlin for Android

JVM 上主流编程语言历史时间轴概览Kotlin也是基于JVM设计的编程语言,算是对Java的温和改良,她是一个开源项目的成果,拥有很高的声望,很多公司、组织、业界大犇都很喜欢她,Square公司的Jake大神(Dagger、ButterKnife、Retrofit、OkHttp…之父)就专门写了篇Using Project Kotlin for Android为Kotlin站台相对Java来说,Kotlin在编写代码时有如下优势:代码简洁高效、函数式编程、空指针安全、支持lambda表达式、流式AP

2022-05-26 15:55:33 371

原创 面试官必问的Android应用性能优化问题,你知道多少?

前言相信大家在面试中面试官都会问到Android性能优化的问题,性能优化这一块已经成为了面试官必问的问题之一了,这里面包含了底层逻辑和所涉及到的技术广度,面试官能够清楚的了解到你对技术的了解和掌握程度,今天我就向大家分享一些关于Android应用层的性能优化的相关问题Android应用性能优化应用程序的性能问题是最明显、最容易体现的一类,表现形式也五花八门,举几个例子:● 应用程序第一次启动速度慢,或者进入某一界面速度慢● 启动某一有动画效果的界面,动画执行过程不流畅,或者动画执行前卡顿时间长

2022-05-25 19:03:45 391

原创 Android布局优化为何被大家称为从入门到放弃的一道门槛?

Android 布局布局是一个App非常关键的一部分,布局性能的好坏可直接影响到用户的体验;试想下如果一个RecyclerView滑动时异常卡顿,那用户估计也没有心情去住下滑了,可能就直接强制杀掉App了去,然后回过头去应用商店给个差评“卡的不要不要的”;虽然现在手机内存、CPU等各项性能都上来了看起来很强,实际上还是卡的不行,所以我们还是要多学习下这方面的知识布局优化减少布局层级● 布局层级越高越复杂消耗性能就越大,所以在设计布局时尽量缩小布局层级数viewgroup性能● 常用的像Line

2022-05-25 16:47:03 102

原创 “Kotlin 协程”有何可取之处?

前言近段时间在网上看到许多关于 Kotlin 协程 的文章,协程的概念并不陌生,任何事务的作用大多是对于所依赖的环境相应而生的,协程对于kotlin这门语言也不例外,但是很少看到真正说的清楚讲的实在的,今天我们就来深入了解一下什么是协程协程的定义Android 官方对协程的定义:● 协程是一种并发设计模式,您可以在 Android 平台上使用它来简化异步执行的代码;协程是在版本 1.3 中添加到 Kotlin 的,它基于来自其他语言的既定概念协程是轻量级线程(官方表述):● 可以换个说法,协程

2022-04-26 16:01:21 473

原创 面试官常问“底层原理“,我们应该如何攻破这一难题?

前言人类自从发展以来,一直都在使用工具,工具的使用让我们的时代飞速前进,许多工具都能够因地制宜,来解决相应的难题由此可以看出使用工具已经是人类的通用技能,但我们仔细想想工具又是由哪些人发明的呢?就比如我们中国的四大发明,现在可以说是家喻户晓所以使用工具简单,但是想要制造工具很显然注定是一小部分人的高端表演行业趋势● 随着 Android 开发的不断完善,优秀的开源框架也是层出不穷,很多开发者都习惯了调用成熟的API来完成开发需求,随着一次又一次的需求完美解决,很多人不禁膨胀了起来● 但是在面试

2022-04-25 16:52:35 377

原创 “MVC设计模式”至今为何还能如此广泛的应用于开发项目中?

前言我们在做事情时,很多事情都是有套路的,这个套路是前人总结的经验,什么情况下按照什么套路去做,一般都能把事情做的很顺利,写代码也不例外,在写代码的过程中,很多场景都有固定的写法套路,这个套路就是“设计模式”什么是设计模式?● 官方给予它的定义:“设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结“;使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性、程序的重用性● 最初出现“设计模式的含义”:设计模式(英语 design pattern)是对面向对

2022-04-25 15:23:59 2191

原创 大厂面试为何将“性能优化”作为重中之重

前言● IT 行业,给予大家的第一印象就是“高薪”,相对而言“程序员”,大多数人最有可能想到的却是,“秃顶、格子衫、为人木讷、熬夜加班、不爱花钱、单身、写BUG”等等负面印象;这种极端化的词汇,不知在何时给程序员打上了标签,仿佛你要是不如同上面所示的一样,那你就是一个异类● 其实上面这些并不是让程序员们所担心的,最多将之当成一个梗,一笑而过;关键的是网上有很多声音出现说“程序员只能吃青春饭,干不到35岁就会直接下岗”● 这个在真正意义上戳中了许多人的痛点Android 开发行业现状● 现如今 A

2022-04-24 17:49:36 1678

原创 “内存优化”为何至今依旧是 Android 开发者所需要攻破的难题

什么是内存?● 内存(Memory) 是计算机的重要部件,也称内存储器和主存储器,它用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。它是外存与CPU进行沟通的桥梁,计算机中所有程序的运行都在内存中进行,内存性能的强弱影响计算机整体发挥的水平。只要计算机开始运行,操作系统就会把需要运算的数据从内存调到CPU中进行运算,当运算完成,CPU将结果传送出来● CPU只能访问其寄存器(Register)和内存(Memory), 无法直接访问硬盘(Disk)。 存储在硬盘上的数据必须首先传输到内

2022-04-24 16:04:16 87

原创 “内卷”现象愈演愈烈,Android 开发者该何去何从?

自述当时高中毕业后执意要学电脑(年少冲动?我当时是可以去上一个二本院校的),不远千里来到帝都某鸟培训,然后现在快毕业,身边的朋友包装学历,包装经验,甚至老师说去面试的时候不要说你在培训机构待过记得当时晚上我妈打电话问我了一句一直都不愿意说出口的话,她问我说是不是为当时的行为感到后悔了,无言以对,然后我妈又说,有所得,有所失,自己看开点,别太大压力很多的时候,我是一个一直认为英雄不问出处的人,但是我忽略了当今社会的大背景,我认为只要有技术,好学,没有学历一样可以,但是我还是忽略了社会的大背景很多时候

2022-04-23 21:08:55 2575 1

原创 “年轻气盛少年时,晚年迟暮悔当初” 致 初入 Android 开发时的我

前言本人从事于 Android 开发行业,现在是一名高级 Android 开发工程师,回首望去,我觉得还是自己的少年时期最让人怀念,人生的发展轨迹不可能一帆风顺,没有遇到挫折,又何谓遇到彩虹,有的人就会说了:“条条道路通罗马”,而有的人生下来就在罗马,我只能说:“人不能决定自己的出身,但却可以决定自己的活法”,你的人生目标真的是到“罗马”吗?作为一位 Android 开发者,我最初进入社会,从事 Android 开发行业,一步一步的提升自己的技术,中途也遇到很多挫折,走过很多弯路,也换过多个公司,也有过

2022-04-22 17:11:17 512

原创 Android 虚拟机技术为何至今依旧 “屹立不倒” ?

前言我从事 Android 也有些年头了,大多时候都在跟项目,写写业务代码,很少花时间去研究关于 Android 开发基础方面的东西,时至今日我却越发明白了底层逻辑和基础知识才是进阶更加高阶 Android 开发技术以及以后发展潜力的基石,只有将自己的根基打牢,这样才会在学习新事物的时候能够更好的理解今天我就向大家展示“一个App从源代码到安装文件,再将其安装到设备上,最后呈现到用户手上”这段时间里,都需要做些什么,其实在最初写这篇文章时,其中还有一些疑问,尚未能够完全了解,但我通过查阅资料和探讨,将

2022-04-22 15:10:49 1549

原创 Android 开发者转型 “FrameWork”必不可少

前言如今的互联网行业可谓是风起云涌,内卷的风潮还未过去,疫情却又一次席卷而来,更是雪上加霜,许多开发者也随之对自己的前程感到迷茫,纷纷选择了躺平,但为了生活,一些 Android 开发者便开始寻求突破这种逆境的方法,于是便盯上了车企行业:智能座舱、车载系统、GPS图像显示,看起来似乎是个不错的方向,但想要成功转型,可并不那么简单,那么我们转型想要具备的专业技术素养有什么?相信大家不难看出,想要众多 Android 开发者中有着自己的一席之地,那就必须要对 Android FrameWork 有着

2022-04-21 17:19:43 1159

原创 时至今日 Android 系统的安全问题是否已经完美解决?

前言Android 系统非常安全以上是一句笑话但是我比大多数人都希望它成真希望将来有一天它可以吊打 ios 系统,大家真真正正的将其称之为国产之光首先来了解下 Android 的出身安卓最初由Andy Rubin开发,2005年由Google收购注资,2007年Google与84家硬件制造商软件开发商及电信运营商组建开放手机联盟(Open Handset Alliance),共同研发与改良Android系统,随后Google以Apache开源许可证的授权方式,发布Android源代码Googl

2022-04-21 15:14:14 332

原创 Android Studio 拥有的特性为何 “独占鳌头”

前言Android Studio 是谷歌推出的一个Android集成开发工具,基于IntelliJ IDEA. 类似 Eclipse ADT,Android Studio 提供了集成的 Android 开发工具用于开发和调试在JetBrains Intellij IDEA的基础上,Android Studio 提供:● 基于Gradle的构建支持● Android 专属的重构和快速修复● 提示工具以捕获性能、可用性、版本兼容性等问题● 支持ProGuard 和应用签名● 基于模板的向导来生成

2022-04-20 14:39:32 3323

原创 面试官“老生长谈”Handler、Binder 机制 作何解?

前言最近在后台上看到有很多人私信留言,说在面试或者晋升考核中都遇到了关于Handler、Binder 机制的难题,相信大家已经在为金三银四这个旺季做准备了,现在面试官的问题都是根据你做过的项目进行深入探讨,如若对技术原理和底层逻辑没有深入了解的话,那么你通过面试的机会会显著下降近期也是收集并整理了关于 Android Framework 的逻辑知识点总结和 Handler、Binder机制的学习笔记,相信能够解决大家对底层逻辑,技术原理,源码解析,面试真题等等相关技术知识点的不够了解透彻的问题面试真

2022-04-20 13:47:00 156

原创 详解Android嵌套滑动机制

Android进阶资料+学习笔记+面试真题​Android进阶资料+学习笔记+面试真题​(https://docs.qq.com/doc/DUkhESmJVc3BHY2xv)Android进阶资料+学习笔记+面试真题​Android进阶资料+学习笔记+面试真题​

2022-04-19 16:01:53 716

原创 底层原理一度作为 Android 大厂面试必问?

前言随着时代的发展。Android开发行业也在不断的完善,其中也出现了许多的开源框架,大部分开发者基本上已经习惯了对其成熟的API进行调用,以此来完成所需的开发要求,随着多次的项目需求被其完美解决,众多的开发者也随之膨胀了起来,但是在一次又一次的面试中,面试官问出一个又一个的底层原理的问题的时候,他们才会看出自身的不足,由于自身的习惯总是一直调用API的原因,对底层原理没有深入了解,那么久必将很难通过大厂的面试,当然也会在日常开发过程中遇到问题,并且没有解决方法方向在开发行业初期,只需要对四大组件

2022-04-18 17:18:34 196

原创 实践GoF设计模式:Singleton Pattern 单例模式

前言我们在开发项目中,经常会遇到这种情况,为了节约所拥有的系统资源或数据的一致性时,需要保证系统中的某个类中有且只有唯一的一个实例,而且在其创建成功之后,我们将不能再次创建同类型的其他对象,也就是所有的操作都要以这个唯一的实例为中心,所以为了保证对象所具有的的唯一性,单例模式成为我们所具备的方法概念● 设计模式中单例模式是最为简单的形式之一,而且是使用最广泛的设计模式之一,其目的是为了将类的一个对象成为系统中的唯一实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享● 要想实现这一点,可以

2022-04-18 15:11:22 139

原创 来自一位入行多年 Android 开发程序员的忠告

前言● 今年对很多学习Android开发的同学来说,是转折的一年,因为疫情的关系,很多的人员失业了,也有的人找到了一份工作,但是却达不到自己心目中的要求,显得高不成低不就,所以就在准备着今年下半年更换一份更好的工作● 需要多增加一些面试经验和刷题就成为了当前最为重要的事情,我这些年经历过大大小小的面试,我将其收集并整理了起来,所以接下来我就向大家分享我这些年来的面试的经验和总结经历● 我作为一名Android程序员,曾在大厂待过,对Android开发有着丰富的经验,也了解到许多人对学历有着不同的看

2022-04-16 21:52:22 500

原创 Android 研发终将成为面试热点

前言近期有出去面试过的朋友就该知道,现在的面试从头到尾都是比较有深度的技术问题,虽然那些问题看上去在网上都能查到相关的资料,但面试官基本都是根据你的回答持续深入,如果没有真正对技术原理和底层逻辑有一定的了解是无法通过的。之前因为疫情很多公司倒闭,有部分Android开发者直接原地失业,这段时间疫情又卷土重来的消息又开始居家办公,不少人感叹“寒冬”又来了,同时也有另外一批开发者在今年这种大环境下依旧难以按捺心中跳槽的小心思。...

2022-04-15 20:43:40 72

原创 来了解 Github 当前最火开源项目 RecyclerView 的缓存机制

前言最近在网上看到许多关于 RecyclerView 缓存相关的技术文章,也是在其中看到了许多的知识点,我将之收集了起来进行汇总和整理,利用自己的见解来分析 RecyclerView 的缓存机制的相关问题优势首先 RecyclerView 是由 Google 推出来对 GridView 和 ListView 进行取代的列表方案,RecyclerView 本身它是不关心视图相关的问题的,由于 ListView的紧耦合的问题, google 的改进就是 RecyclerView 自身不用参与任何视图有

2022-04-15 16:22:21 273

原创 疫情面试之行——B站

前言因为现在的疫情原因,我有的老同学已经在家待业了一段时间,也是近段时间跟他联系一下,就跟我吐槽到现在的面试因为疫情光是在去往面试的路上都显得困难重重,我也是不如现在我也正好投递一些简历,正好看看行情,我也是在这种机缘巧合下向B站投递出了第一份简历,可能是天意使然,最后竟收到了来自B站offer一面自我介绍自我介绍这部分大家可以借鉴我前面发过的几篇攻略文章,每个人的经历虽然各不相同,但是一定最主要的是要组织好自己的语言,要将自己的个人信息,之前做过什么方面的技术,在学校的时候参加过什么级别的竞赛,

2022-04-14 17:40:25 463

原创 Android开发——MVVM模式

前言MVVM(Model-View-ViewModel)框架的由来便是MVP(Model-View-Presenter)模式与WPF结合的应用方式时发展演变过来的一种新型架构框架。它立足于原有MVP框架并且把WPF的新特性糅合进去,以应对客户日益复杂的需求变化。MVVM是Model-View-ViewModel的简写。它本质上就是MVC 的改进版。MVVM 就是将其中的View 的状态和行为抽象化,让我们将视图 UI 和业务逻辑分开优势MVVM模式的优点● 低耦合:View可以独立于Model变化

2022-04-14 15:32:31 3460

原创 面试圣经—— Android 架构

前言相信大家在近段时间都可以看到在面试或者晋升考核中,都能被问到关于Android架构方面的难题,其中提及最多的还是以插件化和组件化方面最多,这其中也包含了Aanroid开发中有着2至5年以上经验的工程师组件化,插件化对Android开发的重要性1,...

2022-04-13 19:56:50 85

原创 Android 组件化架构之路——不可缺失

前言首先我们对组件化要有一个基础的了解,在我们日常进行项目开发中,经常会对项目进行封装处理,就比如一些功能模块,基础库,但是随着时代的发展,业务模块因为长时间的相互调用就会形成高耦合现象,也就是说会变成一团乱麻,这样就使得扩展和维护的难度变高就是在这种现象下,逐渐有人提出组件化,模块化,等一系列的专业名词组件化:具有单一功能,功能导向的作用模块化:具有独立业务,业务导向的作用提出这些专业方向的名词其本质上都是为了其代码重用和解耦组件化架构改造要想实现组件化架构改造一般而言就是从一个单体项目进行

2022-04-13 16:15:05 90

原创 读完这篇,想不拿高薪都难

前言从学校毕业到现在,面试次数可以算得上是身经百战了最初进小公司工作,其原因自身并没有考虑好自己以后到底需要什么,对自己的未来也没有什么规划,只要有一份工作做着,工资能够达到自己的要求就可以,所以最初也是在招聘软件上选好自己心目中工资范围,就直接海投,坐等面试通知在小公司做了快三年的Android开发之后,工作的内容也是在基本上摸透了,像网络框架基本上都是别人封装好的直接就可以使用,再就是进行一些界面的编写,Recyclerview的简单使用,又再者就是将第三方的支付,分享什么的进行集合。技术上可以

2022-04-12 20:08:11 654

原创 经常逛Github的人才知道的开源框架

前言软件开发可以说的是一个十分繁琐的过程,开源框架本质上是因为现在许多公司为了减少开发所需要的时间所创建的入门框架,开源框架是由项目软件开发的人员所组成的社交网络设计成的软件开发模版,这种框架基本上是免费给公众提供使用的,这也是为构建软件应用提供了基础开源框架为什么可以说是软件开发的模板?因为它不仅是一组可以将其作为创建网站的工具,而且还可以在用户的界面和基本的软件应用程序有着重大的用途,框架并不算的上是一个完整的系统, 但可以作为一个提高其开发团队生产力的设备现在许多企业已经完全使用上开源框架社区

2022-04-12 15:32:46 914

原创 面试圣经——京东之行

前言相信大家对京东并不陌生,我也是在京东面试过很多次了,要是说面试印象里面最为深刻的那一定是遇到挫折最多的那一次,那种感觉相信大家都有体验到,还记得那是我刚出社会的时候,当时身上没有经济基础,所以我正准备对各个大厂投递简历,面试预约也是排的很满,就是因为这种情况,也导致我有很多次不得不做出抉择我记得当时刚通过来自京东一面不久,当时也是投递着看看,想着能够多积累一点面试经验,也就是那天下午突然收到短信,三天后到上海进行面试,时间对我来说还是比较仓促的,因为我当时是在广东,到上海的话需要五个小时,第二天我.

2022-04-11 20:46:18 658

原创 Android开发之路——多线程

前言多线程作为Android开发中相对而言较为高阶的知识,其中用到相关的知识点是非常的多,所以在我们需要进行设计或者写多线程的代码就必须要进行相对谨慎的处理,这样就由必要对其要有着比较系统化的认知Android多线程机制我们一般将Android应用分成为两种:主线程和工作线程;主线程主要是用来进行初始化UI,而工作线程主要是进行耗时操作,例如读取数据库,网络连接等Android系统是以进程为单位来对应用程序资源进行限制,这个问题的可以解释为:一个进程最多能够开几个线程?最好能开几个?但实则这个是没

2022-04-11 16:14:15 1303

原创 Android 热修复之路,未来更加澎湃

前言什么是热修复?热修复其实在外面大家日常生活中很常见,就比如现在很火的腾讯手游,在进入游戏经常有一些数据包进行更新,然后再进入到游戏中,这其实也就是游戏中出现了一些BUG,检查更新也就是对这个BUG进行修复,这个数据包也可以称之为补丁包...

2022-04-10 22:26:57 497

原创 2022最新面试圣经,已拿offer

2022最新面试圣经,已拿offer关于面试相信大家并不陌生,面试技巧内的相关推文大家也看了不少,但大多都是关于面试成功的经历,话不多说今天我就跟大家分享一下关于我在2022年面试中遇到的问题字节跳动(已拿offer)笔试(两个小时):不定项选择题15道,编程题5道,问答题2道基本上不会的就不要乱写,不要给自己埋坑笔试结果(通过)一面(一个半小时)首先准备一段流利的自我介绍,突显出自己的优点,不要在自己不会的领域空谈然后面试官基本上会对简历上的内容进行一步步的询问,对我而言我感觉这个面试

2022-04-09 21:28:44 229

原创 Android 插件化技术,你值得一看

在工作中会遇到关于Android插件化开发出现的问题,随着对这种技术的了解,我发现在插件开发的一些基础问题上下需要花费更多的时间。就比如在主工程Context和插件Context的区别所在,权限必然要在主工程申明,本着学习的心态,对插件的历史花了些时间进行了解,随后便写了两个Demo进行总结。这篇文章主要是通过对插件的实现原理进行直观的说明,以此来对插件内开发进行更进一步的加深和了解,所以这篇文章也是主要对核心逻辑进行更多的探讨,所以也就不会对其背景和原理进行一个深入的探讨.原理和背景:首先从andro

2022-04-08 21:58:05 830 1

空空如也

空空如也

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

TA关注的人

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