![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android进阶
文章平均质量分 88
小陈乱敲代码
这个作者很懒,什么都没留下…
展开
-
被裁现状,给找工作的同学一些建议
虽然现在市场环境不好,也不要过于焦虑,如果你还没找到工作,千万不要着急,也不要去看负面消息,保持一颗平常心,认真生活,专心准备,好的机会是留给最后准备充足的人。原创 2023-05-05 15:16:05 · 137 阅读 · 0 评论 -
Android 自定义View 基础(1)
在准备学习自定义View之前,先介绍一下相关的前置基础知识。原创 2023-03-10 15:27:08 · 117 阅读 · 0 评论 -
Android性能优化之绘制优化
通过canvas.clipRect()来帮助系统识别那些可见的区域。这个方法可以指定一块矩形区域,只有在这个区域内才会被绘制。并且,它还可以节约CPU和GPU资源,在clipRect区域之外的绘制指令都不会被执行。在绘制一个单元之前,首先判断该单元的区域是否在Canvas的剪切域内。若不在,直接返回,避免CPU和GPU的计算和渲染工作。1、发现问题:除使用时感知的卡顿外,还应通过卡顿监控工具来发现整体的耗时情况,或打开开发者选项的一些辅助工具来发现问题。原创 2022-12-15 16:07:28 · 1133 阅读 · 0 评论 -
看完这篇Jetpack compose开发指南,让你感觉如获至宝~
虽然现在的Android就业环境时刻都在发生改变,但只要自己有本事,掌握好技术,善于发现和学习,即使身处内卷时代,相信你也可以争得自己的一席之地!《Android Jetpack Compose开发应用指南》领取请戳下方!!原创 2022-12-13 15:54:14 · 605 阅读 · 0 评论 -
突破面试八股文,Android Framework框架层如何学习?
相信大家在找工作的时候,过多过少都有被面试官问到过Framework相关的知识点,大部分Android开发者一遇到这类问题就直接蒙圈了,我没遇到过!!!原创 2022-12-08 16:25:11 · 217 阅读 · 0 评论 -
Android 数据库 Room从入门到进阶
Room 在 SQLite 上提供了一个抽象层,以便在充分利用 SQLite 的强大功能的同时,能够流畅地访问数据库。原创 2022-11-30 19:18:14 · 711 阅读 · 0 评论 -
浅看Android 中ArrayList源码
重新翻了下Java看到泛型,描述的仍然是那么抽象。其实泛型这个东西没那么神秘,用的多了接触的多了,自然就理解了,但真要说个一二三也不一定能说的上来,真要说的话无非就是提一下泛型使用中的一些约束,或者定义泛型时的一些继承派生规则,通配符什么的。总的来说,还是要去使用中理解泛型,Java和Android中大量用到泛型,比如HashMap和ArrayList,当然还有很多也没办法都列举出来。正好想到这里就去看看ArrayList的源码吧。原创 2022-11-28 20:46:55 · 298 阅读 · 0 评论 -
快手Android性能优化岗位面试题分享,论文答辩都没这么难
前段时间投递了快手的移动开发工程师-性能方向,自己在先前三年的工作中做得更多的地方就是Android性能优化这块,这次面试也等于是和面试官在性能优化这个话题进行了一次深入的交谈。原创 2022-11-27 22:09:47 · 356 阅读 · 0 评论 -
Android内存优化详解
RefWatcher.watch()创建了一个KeyedWeakReference用于去观察对象。然后,在后台线程中,它会检测引用是否被清除了,并且是否没有触发GC。如果引用仍然没有被清除,那么它将会把堆栈信息保存在文件系统中的.hprof文件里HeapAnalyzerService被开启在一个独立的进程中,并且HeapAnalyzer使用了HAHA开源库解析了指定时刻的堆栈快照文件heap dump。原创 2022-11-24 16:57:39 · 460 阅读 · 0 评论 -
Android车载系统开发兴起,谷歌能否在智能汽车上再造辉煌?
随着新能源汽车的崛起,特别是在蔚来、小鹏、理想等造车新势力初露锋芒之后,各大手机厂商纷纷表明了自己造车的野心,并进行了一系列行动。如果说我们把汽车看作是一个智能终端,他可以表现的地方真的就太多了,具体可以分为语音交互、辅助驾驶、移动互联、等多个部分。。以BAT代表的互联网巨头,早在2015年前后就瞄准了车载系统。不过直到今天,智能汽车系统还处在一个发展阶段,就车企而言,他们也不会愿意把核心系统部分交给国内的互联网厂商,因而。原创 2022-11-22 15:21:26 · 225 阅读 · 0 评论 -
Android framework为什么越来越受到重视了?
众所周知,Android系统架构可以分为五个层面,其中的应用层是被Framework层来调用执行的,我们只有知道了底层的原理才能够全面的认识一个程序的本质。这也有助于我们去解决实际项目中遇到的一些问题,因为,学习Framework的好处也就体现出来了。对于初入职场的大学生,也可以花点时间去学习Android framework源码,因为。原创 2022-11-18 17:24:14 · 149 阅读 · 0 评论 -
Android性能优化的逻辑,都藏在项目实战经验里
性能优化问题不是一两次版本就能解决的,在项目全过程中,我们都需要懂得性能优化的方法,这样才能更好地进行Android开发工作原创 2022-11-16 17:59:56 · 99 阅读 · 0 评论 -
被称为“2022大热门”的Android车载系统开发,到底应该怎么学?
随着汽车智能化的速度不断加快,车载系统目前已经进入了混战的阶段,国产车载系统纷纷加入布局,很多车企也基于Android车载系统来开发自己的新系统,不过想要打造像安卓一样的汽车生态,还有很大的发展空间。Android Automotive OS最明显的特点有:1、界面布局更贴近手机本身,车载娱乐生态丰富,在保证用户使用习惯的同时,还能提供更多元的需求,驾驶体验优。2、高效易触,提供了语言交互和手势交互等,安全驾驶优,这也是智能化汽车发展中人们最为关心的一大内容。原创 2022-11-14 16:20:03 · 633 阅读 · 0 评论 -
Android Development Note - 响应式编程
概览本系列将介绍响应式编程并讲解 LiveData 和 Flow 组件的原理以及使用本章介绍响应式编程和 LiveData 的基本使用生产者 - 消费者通常负责从本地数据库或远程数据库获取数据的组件我们称之为生产者,而使用数据并进行“展示”等操作的组件我们称之为消费者在传统的架构模式下,我们总是习惯于在我们需要的时候通知生产者进行生产数据,利用接口回调的方式,处理数据然后将结果用于消费者的消费行为不过,这种传统的“生产-消费”模式往往会将数据操作、逻辑操作以及UI操作耦合,当项目变得稍微庞原创 2022-05-10 21:19:15 · 396 阅读 · 0 评论 -
凛冬已至:大厂裁员浪潮,基础福利大砍,行业饱和,大龄程序员该如何自处
前言前几天的时候,快手调整了员工福利,减少房补,取消免费三餐。这到底是是怎么了?别的大厂虽然也在裁员,但至少提高了一些在职员工福利,快手却在降低员工福利?我正好元旦这几天在疯狂的看各种大佬的年终演讲,结合看到的一些观点,谈谈这件事。事情是这样的,快手发布内部信宣布调整员工福利:2022 年 2 月起调整租房补贴,房补的覆盖范围变小,可领取补贴的员工仅包括社会工龄 3 年以内的普通员工。内部邮件还表示,快手将取消免费下午茶和免费三餐,其中,早餐和午餐将调整为使用能量券或现金方式就餐。同时,新增“生育礼原创 2022-01-05 15:28:15 · 535 阅读 · 0 评论 -
这都 2022 年了,Android开发还有人在研究 Handler源码?
我们经常使用和提及 Android 中特有的线程间通信方式即 Handler 机制,缘于该机制特别好用、极为重要!初尝 Handler 机制的时候,原以为 Handler 类发挥了很大的作用。当你深入了解它的原理之后,会发现 Handler 只是该机制的调用入口和回调而已,最重要的东西是 Looper 和 MessagQueue,以及不断流转的 Message。本次针对 Handler 机制常被提及和容易困扰的 20 个问题进行整理和回答,供大家解惑和回顾~问题前瞻:简述下 Handler 机制.原创 2021-12-28 09:31:03 · 935 阅读 · 0 评论 -
Jetpack 又双叒一新成员 DragAndDrop 框架:大大简化拖放手势开发
外网原文:Simplifying drag and drop翻译:TechMerger对于拖放手势,大家并不陌生,这是在桌面端最稀松平常的操作,比如将文件拖入回收站。随着移动设备的大屏趋势、可折叠设备的愈加发完善,拖放操作在移动平台里端也显得愈加必要和流行!实现拖放手势: Android 平台现存的方案略为复杂。基于此, Jetpack 框架集合里推出了新成员 DragAndDrop 。本文着重阐述该框架的愿景和核心要点,主要内容译自 Android 开发者关系工程师 Paul 在 Med.原创 2021-12-27 10:27:47 · 2233 阅读 · 0 评论 -
什么?这么精髓的View的Measure流程源码全解析,你确定不看看?
前言Android开发中我们平时接触最多的是各种View, View是一个比较大的体系,包含了绘制流程、事件分发、各种动画、自定义View 等等。前几天我写了一篇事件分发源码解析的文章, 今天我们来探索一下绘制流程中有点难懂的测量流程。基础知识准备测量涉及到的相关类和方法:MeasureSpec: 中文翻译测量规格,包含了两部分:SpecMode(测量模式)、SpecSize(对应测量模式下的规格大小)。它是由32位int值表示的,高两位代表SpecMode,低30位代表SpecSizemeas原创 2021-04-21 21:26:52 · 209 阅读 · 3 评论 -
【Android开发高手笔记】Dagger2和它在SystemUI上的应用
和人类需要群居一样,程序界的进程、线程也需要通信往来。它们的交流则依赖模块之间、文件之间产生的关系。如何快速地搞清和构建这种关系,同时还能减轻彼此的依赖,需要开发者们认真思考。我们将这种需求称之为依赖注入(DI,Dependency Injection),这个编程技术由来已久,在讲述之前想来简单回顾下依赖和关联的基本概念。依赖和关联像下图示意的那样,模块或类之间的关系大体可以分为依赖(Dependency)和关联(Association)两种。依赖一般表现为局部参数,关联则表现为属性的持有。..原创 2021-04-20 17:11:15 · 608 阅读 · 1 评论 -
Google官方怒推的Jetpack Compose到底是个啥?对设计的解读与思考
Jetpack Compose前段时间进入了Alpha阶段。经过去年年底至今剧烈的api变化后,现在Compose整体上大致稳定,所以我们也能对于Compose的设计进行初步的解读和评价了。Compose从整体技术风格上来说是这样一个产物:在语法上激进模仿SwiftUI,编译/运行过程充满Svelte风格,同时也综合了各方包括Android开发组自身对UI框架的思考结果。使用Compose时,最值得关注的就是Compose的编译器插件。可以这么说,Compose的runtime、api都是依附于编译器.原创 2021-03-04 22:22:59 · 2459 阅读 · 5 评论 -
RecyclerView滚动时是先回收View还是先复用View?两个实践Demo带你一起探究真理
RecyclerView滚动时回收和复用机制作者字节小站谈到RecyclerView的时候,复用机制是我们能脱口而出的优点之一。系统内置的ViewHolder避免了使用ListView时手动去创建ViewHolder的麻烦。关于何时回收View,何时复用View,我们能做到胸有成竹吗?当我们滑动一个RecyclerView时,是先回收View,再复用View?还是先复用View,再回收View呢?答案是都有可能。详情且看下面分析:名词解释1. 回收:是指View不需要再展示在屏幕中,被回收到回收池原创 2021-02-19 21:04:48 · 360 阅读 · 2 评论 -
死磕到底RecyclerView :哪些情况下表项会被回收到缓存池?
正月初七,开工大吉!祝大家牛年快乐,牛气冲天!春节过后紧接着就是‘金三银四’跳槽季啦,各位大佬们做好面试造火箭,进厂拧螺丝的准备了嘛~接下来这段时间,主要会更新Android中高级面试的系列文章,给大家金三银四的面试之路保驾护航!前言缓存是 RecyclerView 时间性能优越的重要原因。缓存池是所有缓存中速度最慢的,其中的ViewHodler是脏的,得重新执行onBindViewHolder()。这一篇从源码出发,探究哪些情况下“表项会被回收到缓存池”。缓存池结构在分析不同的回收场景前,.原创 2021-02-18 21:14:47 · 461 阅读 · 0 评论 -
押题率90%的 Android 中高级工程师面试复习大纲及真题答案整理(下篇)
缘起转眼间2020就接近尾声了,年后有跳槽想法的小伙伴们心里应该也有自己的决定了。金三银四青铜五,总不能到跳槽的黄金期再开始复习吧。没办法,都是兄弟,宠着!2020年度Android中高级面试复习大全奉上。篇幅过长,预计分三篇文章讲解,好兄弟们记得点个关注或者点赞Mark插个眼,后续不容错过哦上一篇Java基础,计算机网络相关面试题点这里:史上最全!押题率90%的 Android 中高级工程师面试复习大纲及真题答案整理(上篇)上一篇Android基础夯实99题,点这里史上最全!押题率90%的 A原创 2021-01-06 16:20:51 · 434 阅读 · 0 评论 -
Android-面试官:这些Java知识点我必问(2020年度总结)
前言很早之前就打算写这个“Android-面试官”系列文章,由于各种事拖着忙着(其实就是懒)就拖到了现在。作为一名好(lao)博(you)主(tiao)怎么可以一直拖更,不更点干货给大家呢?哈,干货我有一大把,就看你咽不咽的下了。废话就不多说了,直接开梭。前排温馨提示:阅读本文前,请自备豆浆!Java作为移动应用开发中不可以或缺的部分,是我们每个Android开发者都必须具备的技能,掌握的越多,对我们的成长进阶就越有利。今天我们就来系统盘点一下,Android开发者成长中必须掌握的Java核心.原创 2020-12-18 18:00:14 · 312 阅读 · 2 评论 -
2020下半年腾讯Android中高级开发岗面试真题收录分享
前言今天给大家分享的是博主腾讯面试的面经以及对腾讯2020下半年Android开发岗面经真题收录,希望可以帮助到大家,喜欢的朋友可以点个赞支持一下。2020.9月博主腾讯一面1、说完基本情况后问项目,遇到过的问题,解决办法,用过的技术2、TCP和UDP有哪些区别3、TCP三次握手四次挥手,为什么挥手时要确认两次?4、王者荣耀保证用户实时性共享画面,互相明白对方做啥操作5、对synchronized怎么理解的6、Java的各种框架有多少了解7、怎么做的一个线程访问,组织另一个线程访问呢?.原创 2020-12-17 21:38:25 · 243 阅读 · 9 评论 -
全家桶!阿里P8大佬熬夜15天,把所有Android第三方库整理成了PDF,附第三方库全套系列教学视频
视频先行第三方库实战系列视频教程B站学习地址:Android第三方开源库系列—热修复框架使用、原理及项目实战Android第三方开源库系列—插件化框架使用、原理及项目实战Android第三方开源库系列—Android组件化使用、原理及手写组件路由项目实战Android第三方开源库系列—Glide图片加载框架使用、原理及手写实战Android第三方开源库系列—架构师的“Holle World”,手写自己的网络访问框架Android第三方开源库系列—RxJava响应式编程框架设计实战Andro.原创 2020-12-14 15:20:23 · 3101 阅读 · 26 评论 -
Android面试:从12个View绘制流程大厂面试真题入手,带你全面理解View绘制流程
一、缘起对于安卓开发来说,我想除了 Activity 以外,就是 View 接触的最多了。这篇文章就以面试官的角度来讲讲 View 的一些知识点,看看问题是如何一层层的深入下去的。作者:ZYLAB链接:https://juejin.im/post/6872140986579943438二、View 题目层次我们以最常见的两个面试题目(View 的绘制流程 和 View 的事件分发)开始,逐层深入去看一下。先上 View 的绘制流程。View 的绘制流程是 measure -> la.原创 2020-11-30 17:22:13 · 1318 阅读 · 0 评论 -
Android 编译耗时优化:深入理解增量编译提高开发效率
增量编译简介增量编译是相对全量编译而言的。所谓增量编译,是指当源程序的局部发生变更后进重新编译的工作只限于修改的部分及与之相关部分的内容,而不需要对全部代码进行编译。增量编译对软件开发,尤其是在调试期,可以大大缩短编译时间, 提高编译效率。而全量编译指的是,当用户源程序被局部修改后重新编译代码会涉及全部源代码,并不只限于局部修改及其相关部分。换句话说,无论修改了什么,全量编译都将进行一次全新的完整的编译,并不基于上一次的编译基础。一般来说,在软件开发中,全量编译用于版本的构建与发布,比较耗费时间和资源转载 2020-11-24 16:23:27 · 1794 阅读 · 2 评论 -
Android-面试:2年以上Android面试必看的性能优化必知必会
前言如题,这是一篇关于Android面试-性能优化最常问的面试题、面试点的文章。这也是“Android-面试官”系列的第二篇文章。对Java模块比较薄弱的小伙伴可以去看一下我的上一篇文章:Android-面试官:这些Java知识点我必问好了,废话不多说,直接冲冲冲!前排温馨提示:阅读本文前,请自备豆浆!如果你已经有 2 - 3 年以上Android开发经验还不懂的怎么去优化自己的项目,那就有点说不过去了。无论是日常工作中还是跳槽面试的时候,性能优化都是我们打怪成长为一名优秀的高级开发工程师.原创 2020-11-13 15:23:23 · 1703 阅读 · 2 评论 -
Android Framework:Handler全解析,看完这篇还不懂请给我寄刀片
前言Handler可以说小伙伴们用的非常多了,可以说Handler是支撑整个Android系统运行的基础,本质上Android系统都是由事件驱动的。而处理事件的核心就在于Handler。接下来我们就从简单的使用,到源码分析让你彻彻底底明白Handler的本质。不会再让你发出为什么Looper.loop不会堵塞主线程,Handler是如何切换线程等这类疑惑。作者:Mlx链接:https://juejin.im/post/6866015512192876557简单使用一般是在主线程中实现一个Handl原创 2020-09-04 21:29:36 · 536 阅读 · 0 评论 -
Android 音视频学习系列(一) JNI 从入门到精通
前言音视频开发可以说是当下最主流的技术之一了。原本音视频开发应该是要从C/C++ 基础讲起的,由于篇幅实在过长,就将C/C++教程上传在GitHub了。我们就直接从JNI开始讲起。如有需要C/C++全套入门教程的,可以在我的GitHub获取。入口:https://github.com/Timdk857/Android-Architecture-knowledge-2-那么该篇文章开始就直接进入 NDK 学习了,在进入 NDK 学习之前我们还要学习 JNI 基础。介绍JNI 是 Java 程序设计.原创 2020-07-29 21:01:03 · 919 阅读 · 1 评论