Android
文章平均质量分 89
Android小安
这个作者很懒,什么都没留下…
展开
-
2023 年,28 岁技术人关于职业和生活的思考
生活的逐渐变好源于家庭每一个成员的共同努力,很不庆幸在我原生家庭中存在一些负能量的人,她们的内耗能够将家庭其他成员的能量都消耗殆尽,当然啦,我无法改变这些人,但可以通过运动、鸡汤和励志电影不断让自己保持高能量状态,同时减少或不接触这类人,愿我们都能够成为高能量场的人。按照这个逻辑链,梳理形成属于自己的知识体系。在我前三年的工作经历中,的确走了一些坎坷,在第二年的时候就已经担任了某私企客户端leader的角色,在技术并不是特别拔尖的情况下去做管理工作,属实有点困难,毕竟要兼顾的东西多了,难免有些手忙脚乱。原创 2023-10-09 10:24:05 · 94 阅读 · 0 评论 -
Android程序员在遇到性能优化相关问题时该怎么回答?
一直以来,Android性能优化都是面试过程中考察的热点题目。相关的技术博客也层不出穷,我们总是能找到很多这样的文章,从一个应用的各个层面开始分析,优化的种种手段,取得的种种效果。往往篇幅越长,讲得越细,越受欢迎。但在面试的时候,问这类问题时,候选人经常答得不尽人意,大部分人会把自己能想起来的优化措施,给背一遍。背得越多越好,对于候选人自己说,内心也发虚,背完之后面试官毫无表情,因为这并不是他们想要的答案。我们不妨从面试官的角度来思考。原创 2023-09-27 20:31:52 · 122 阅读 · 0 评论 -
Android常见面试题总结以及答案解析(2023年新版)
对于Android的学习,很多⼈可能学了之后,不知道⾃⼰处于哪个阶段,也不到究竟要学到哪个程度,验证⾃⼰学得如何最好的⾯试,就是尝试去⾯试,⽽⾯试⽆⾮就是问你⼀些⾯试题。而我之前也有整理过一些面试题,但不是很完整。所小编重新整理了这些 Android ⾯试题,从 Java 基础,并发,虚拟机到Android Framework,开源框架,性能优化,并且附带了详细的答案,⽆论是想⾯试还是想看看⾃⼰学得如何,那么这份⾯试题,都值得你去学习。希望能帮助到你面试前的复习并且找到一个好的工作,也节省你在网原创 2023-09-26 20:51:34 · 1596 阅读 · 0 评论 -
AOSP(四)Android13自定义系统服务
创建同样的包和类,方法可以不实现,利用双亲委托机制一般只是用来调试自己的服务功能是否正常make sdk。原创 2023-09-26 20:29:33 · 1100 阅读 · 0 评论 -
金九银十这次面试季稳了,200道Android面试题及答案让你轻松拿offer
新的一年马上就要过去了,每个人可能会有新的计划,正值现在金九银十,很多小伙伴对于自己目前的工作环境,或多或少会有一些想要改变的,所以跳槽的想法自然而然的就萌发了!最近有人留言希望学姐可以整理一些面试题,可以应用到接下来的面试中。今天主要整理一下Android程序员在面试中的常见问题,希望对需要的你有用。原创 2023-09-22 20:59:00 · 81 阅读 · 0 评论 -
你后悔当初选择了客户端开发吗?
十年前我出来后做客户端开发做了三年觉得没前途,转去后端搞全栈,结果去年又开始搞客户端,因为国产化的浪潮让客户端有了些市场一一所以一般人是预测不到市场的变化的,保持逐浪就好。以上是个人经验,以下是泛泛而谈:如果你是忧虑前途的话,先想明白自己是转管理还是坚持走技术,但不管选哪条,架构能力都是必须的,而架构能力离不开后端,有几年的后端实际研发经验才能打好架构能力。从这点来说,越快转后端越好。另外一点就是,不管客户端、前端、后端,基础好了很容易转的。所以平常打好基础,要不要跳槽。原创 2023-09-20 16:23:56 · 222 阅读 · 0 评论 -
写给Android工程师的声明式UI快速指北
Compose推出之初,就曾引发广泛的讨论,其中一个比较普遍的声音就是——“🤨这跟Flutter也长得太像了吧?!”这里说的长得像,实际更多指的是UI编码的风格相似,而关于这种风格有一个专门的术语,叫做声明式UI。原创 2023-09-06 10:46:06 · 465 阅读 · 0 评论 -
安卓排除依赖androidx annotation
在Android开发中,使用AndroidX库来开发应用是相当普遍的。然而,有时我们可能需要排除某些库的依赖,以避免冲突或其他问题。本教程将向你展示如何在安卓项目中排除依赖。在本教程中,我们展示了如何排除Android项目中的依赖。首先,我们新建了一个Android项目,并打开了模块级别的文件。然后,我们找到包含依赖的行,并在该行的末尾添加了一个exclude语句来排除该依赖。最后,我们保存并关闭了文件,并重新编译了项目。通过这些步骤,你现在应该能够成功排除依赖,并解决相关问题。希望本教程对你有所帮助。原创 2023-08-24 14:54:03 · 903 阅读 · 0 评论 -
Android面试最强攻略:6个超实用面试技巧助你拿下心动的offer(推荐收藏)
为什么我们对自己在面试中的表现感觉良好,但往往却了无音讯?有没有什么方法能让我们在面试时从众多竞争者中脱颖而出呢?怎么辨别出HR是不是在给我们挖坑呢?“掌握一些实用的面试技巧,确实可以事半功倍”“面试本就是双向选择,所以你不用过于拘谨”“怎么辨别并避开HR挖的坑是成功的关键”关于面试,你应该知道的事情:提前了解:知己知彼,百战不殆时间观念:准时就是迟到面试礼仪:第一印象很重要自我介绍:扬长避短有妙招语言技巧:好好说话有技巧询问问题:主动提问也是双向选择。原创 2023-08-22 15:45:18 · 303 阅读 · 0 评论 -
常见Android面试题及答案(详细整理)
对于Android的学习,很多⼈可能学了之后,不知道⾃⼰处于哪个阶段,也不到究竟要学到哪个程度,验证⾃⼰学得如何最好的⾯试,就是尝试去⾯试,⽽⾯试⽆⾮就是问你⼀些⾯试题。所以呢,小编整理了这些 Android ⾯试题,从 Java 基础,并发,虚拟机到Android Framework,开源框架,性能优化,并且附带了详细的答案,⽆论是想⾯试还是想看看⾃⼰学得如何,那么这份⾯试题,都值得你去学习。答: 如下图所示。原创 2023-08-16 14:33:05 · 10410 阅读 · 1 评论 -
30道Android面试题,内含详细讲解(从Java基础到底层原理,自测Android掌握程度)
这些面试题都是互联网大厂真实流出的面试内容,每个问题都附带完整详细的答案,不像网上的那些资料三教九流有的甚至还没答案,这些面试题我也是经过日积月累才整理出来的精品资料。这些面试题主要是针对1-5年左右的Android开发程序员提升的,不管是传统行业还是互联网行业,掌握这些技术基本都能拿到一个不错的薪资,希望对大家有所帮助。面试真题-按知识点划分。原创 2023-08-10 16:25:55 · 378 阅读 · 0 评论 -
Android Studio从安装到全副武装,2023年最新版,图文结合,因为过度详细!
Android Studio 是谷歌推出的一个Android集成开发工具,基于IntelliJ IDEA. 类似 Eclipse ADT,Android Studio 提供了集成的 Android 开发工具用于开发和调试。原创 2023-08-08 15:39:50 · 1651 阅读 · 1 评论 -
【Android面试】2023年金九银十Android面试题及答案整理(1000+面试题附答案解析)
强引用(StrongReference)强引用是使用最普遍的引用。如果一个对象具有强引用,那垃圾回收器绝不会回收它。当内存空间不足,Java虚拟机宁愿抛出 OutOfMemoryError 错误,使程序异常终止,也不会靠随意回收具有强引用的对象来解决内存不足的问题。软引用(SoftReference)如果一个对象只具有软引用,则内存空间足够,垃圾回收器就不会回收它;如果内存空间不足了,就会回收这些对象的内存。只要垃圾回收器没有回收它,该对象就可以被程序使用。原创 2023-08-03 16:15:54 · 1660 阅读 · 0 评论 -
为什么10年老Androider会说:“今年是有史以来最难的面试季”
自疫情放开以来,大量公司进行裁员,广州就业环境变得非常的艰辛,称为互联网寒冬年份一点不过分。与去年每个月收到四五十场面试和十几个offer不同,今年投递大部分是未读和已读不回,岗位开放也非常地少。只收到了寥寥可数的offer。我最终还是选择了先苟下去再说,选择了一家小企业。忙活到现在一直没找出时间写文章,现在也总结一下,为以后找工作做个准备。原创 2023-07-25 16:07:34 · 121 阅读 · 0 评论 -
Android 精选版面试题级答案,背完成功收割字节offer-2023最新面试题(Android+Java+高级UI+Framework源码+性能优化+开源框架...)
半路转行的,双非本科,自认为技术水平不差,,水了五六年经验了,小公司,没大佬级别人物,瞎忙,基本就是做一些公司业务之类的,公司也不注重技术,项目短快,能挣钱就行,发现到现在是啥都不会。本来在现在这家公司就是打算往管理岗转的,现在有个问题就是领导的一些作风和思想不是很认可,所以才想着跳了。在6.10那天一个人从长沙跑到北京去面试阿里。原创 2023-07-13 21:43:48 · 134 阅读 · 0 评论 -
字节架构师分享Framework框架源码笔记文档:Binder+Handler+AMS+WMS+PKMS等
但市面上真正适合学习的Framework资料太少,有的书或资料虽然讲得比较深入,但是语言晦涩难懂,大多数人看完这些书基本都是从入门到放弃。学透Framework难道就真的就没有一种适合大多数同学的方法吗?原创 2023-07-11 21:42:38 · 203 阅读 · 0 评论 -
Android开发出路是不是车载?(开源资料免费分享)
车载开发资料分享原创 2023-03-02 21:20:57 · 154 阅读 · 0 评论 -
Android程序员必备神器《Jetpack Compose应用详解》开源分享
jetpack compose应用详解原创 2023-03-01 21:50:49 · 300 阅读 · 0 评论 -
ReactNative错误采集原理及Android中实现
我们可以继承Error类,实现自定义的错误为了防止默认处理方式将异常直接抛出导致crash,业务可以实现自定义的NativeModuleCallExceptionHandler接口来处理异常,将异常上报,并展示错误兜底页面错误边界是一种 React 组件,这种组件可以捕获并打印发生在其子组件树任何位置的 JS 错误,并且它会渲染出备用 UI,而不是渲染那些崩溃了的子组件树。错误边界能在渲染期间、生命周期方法和整个组件树的构造函数中捕获错误。原创 2023-02-27 20:30:23 · 842 阅读 · 0 评论 -
Android代码实现新年贺卡动画
今天,我们自己用android程序实现一个兔年的新年贺卡。下面就是见证美好的时刻,上效果。原创 2023-01-27 17:32:27 · 445 阅读 · 0 评论 -
为什么要选择VersionCatalog来做依赖管理?
很多人都介绍过`Gradle 7.+`提供新依赖管理工具`VersionCatalog`,我就不过多介绍这个了。我们最近也算是成功接入了`VersionCatalog`,过程也还是有点曲折的,总体来说我觉得确实比我们当前的ext,或者说是用buildSrc的形式进行依赖管理是个更成熟的方案吧。下面是几个介绍的文章,尤其可以看看三七哥哥的。原创 2023-01-25 22:42:46 · 1202 阅读 · 0 评论 -
Android 项目的 Instrumentation Tests 如何在 Github Actions 配置 CI/CD
如果你的 Android 项目比较简单,且对 Android SDK 的依赖并不多的话,运行普通的 unit tests 即可。如果你的 Android 项目对系统 SDK 依赖较多,或者你希望在非 Mock 的环境下看到更真实的测试结果,又或者是你的项目中有 NDK 代码或直接依赖 so 库,instrumentation tests 就对你来说非常必要了。原创 2023-01-14 11:12:50 · 401 阅读 · 0 评论 -
Android自定义ViewGroup交互进阶,右滑进入详情
在之前的 ViewGroup 的事件相关一文中,我们详细的讲解了一些常见的 ViewGroup 需要处理的事件与运动的方式。我们了解了如何处理拦截事件,如何滚动,如何处理子 View 的协调运动等。再复杂一点,我们可以组合在一起使用。例如在拦截事件之后滚动,或者在滚动到一个阈值之后拦截事件。今天我们一起再巩固一下相关的知识点,以比较常见的一个应用场景,右滑进入详情的场景为例子。这个例子中又分几种常见的类型,以几个头部App为例的话:原创 2023-01-13 11:42:07 · 594 阅读 · 3 评论 -
kotlin-object关键字与单例模式
`object` 关键字有三种不同的语义:匿名内部类、伴生对象、单例模式。因为 Kotlin 的设计者认为,这三种语义本质上都是在_**定义一个类的同时还创建了对象**_。在这样的情况下,与其分别定义三种不同的关键字,还不如将它们统一成 `object` 关键字。原创 2023-01-12 10:23:11 · 325 阅读 · 0 评论 -
“玩弄一下”Android Jetpack Compose 中的 Snackbar
开始写Compose的时候,真的有点不习惯。思考方式和以前完全不同,有点类似ReactNative。 写习惯了之后,还真有点欲罢不能,行云流水~Snackbar感觉就是Toast Plus版,可以自定义视图,还可以进行交互,可以用在很多地方实现意想不到的效果。原创 2023-01-11 10:44:03 · 1177 阅读 · 0 评论 -
Android应用添加谷歌登录(Google Sign In)
Android平台添加Google登录便于读取用户信息,也便于将应用发布到GooglePlay。 具体步骤如下,个人觉得还是比较繁琐的,一步一步来看吧。原创 2023-01-07 21:40:58 · 9211 阅读 · 0 评论 -
启动优化 · 基础论 · 浅析Android启动优化
传送门:关于如何定义低端机?低端机定义要双端对齐思考浅析Android启动优化主要说了四部分内容,第一部分内容是启动基础,第二部分内容是启动优化价值,第三部分内容是启动优化业务痛点,第四部分内容是总结与展望。第三部分内容主要分为四个方面,第一个方面是防劣化机制建设,第二个方面是高性能工具,第三个方面是调度框架,第四个方面是业务框架。2022年企业对app的启动性能做了更加苛刻的要求。经企业内部稳定性大数据平台分析,启动耗时每增长200ms将带来5w用户的留存缩减。启动性能是app。原创 2023-01-05 22:09:21 · 823 阅读 · 0 评论 -
将Android进行到底之服务(service)
我们都知道,字节最近发布了PICO4VR眼镜,我买了一个,体验还行。因为我也是做VR眼镜的Android应用层开发的,所以想把自己项目中遇到的一些Android技术分享给读者。近些年随着VR眼镜的兴起,Android的的服务(Service)和广播(Broadcast)以及内容提供者(Content Provider)越来越被重用,相反Activity这个曾经很吃香的组件在VR眼镜的开发过程中却用的不多。本节我会介绍Android的服务在VR眼镜中的使用,服务(Service)是Android的四大组件之一原创 2023-01-04 22:08:01 · 986 阅读 · 0 评论 -
Jetpack Compose 十几行代码快速模仿即刻点赞数字切换效果
两图分别为即刻的效果和作者的实现不得不说,作者模仿的很像,自定义绘制玩的炉火纯青,非常优秀。不过,即使是这样简单的动效,使用 View 体系实现起来仍然相对麻烦。对上文来说,作者使用的 Kotlin 代码也达到了约 **170** 行。原创 2022-12-30 21:16:27 · 271 阅读 · 0 评论 -
Android音视频开发——Media FrameWork框架与源码解析
如果想要成为架构师或想突破20~30K薪资范畴,那就不要局限在编码,业务,要会选型、扩展,提升编程思维。此外,良好的职业规划也很重要,学习的习惯很重要,但是最重要的还是要能持之以恒,任何不能坚持落实的计划都是空谈。如果你没有方向,这里给大家分享一套由阿里高级架构师编写的《Android八大模块进阶笔记》,帮大家将杂乱、零散、碎片化的知识进行体系化的整理,让大家系统而高效地掌握Android开发的各个知识点。原创 2022-12-29 21:58:07 · 1334 阅读 · 0 评论 -
耗时一周,实现高仿微信渐变模糊效果——纯原生实现
上面的操作,我们获得了3个Bitmap,要把它们正确的摆放就需要我们自定义一个ImageView。如果对自定义View不了解的话,可以看看扔物线大佬的Hencoder 的自定义View系列教程。init();}/*** 设置图片* @param src 原图片的 Bitmap* @param top 原图片top部分的 Bitmap* @param bottom 原图片bottom部分的 Bitmap。原创 2022-12-27 22:10:29 · 1102 阅读 · 1 评论 -
简单分析Window的内部机制
Window并不是实际存在的,它是以View的形式存在,中的三个方法addView、、removeView也都是基于View的,这说View才是Window存在的实体。在实际使用中是无法直接访问Window的,对Window的访问必须通过,分析Window的内部机制从它的添加、更新、删除入手。原创 2022-12-26 22:03:56 · 264 阅读 · 0 评论 -
【Kotlin回顾】23.Kotlin协程—Channel流程
Channel是一个线程安全的管道,常见用法是实现CSP通信模型,它之所以可以用这种方式来实现CSP通信模型主要还是因为底层的数据结构是;是一个双向循环的链表但是在Channel源码中会被当做先进先出的单向队列,只是在队列末尾插入节点,且只会正向遍历;Channel的发送分为两种情况,一种是当前队列中已经存在发送方,这时候send()会恢复 Receive 节点的执行,并将数据发送给对方;另一种情况是当前队列中不存在发送方,就是首次发送,则会挂起并将元素封装成后添加到队列的末尾,等待被。原创 2022-12-22 16:40:19 · 313 阅读 · 0 评论 -
android 原生安全音量逻辑设计
接到一个开发需求,需要定制化开发一个安全音量功能;此前有了解过为了符合欧盟等有关国家和地区的规定,原生Android是有自带一个安全音量功能的,想要定制则先要了解这个功能原先长什么样子,下面我们就从一个系统工程师的角度出发去探寻一下,原生Android的安全音量功能是如何实现的。原创 2022-12-21 17:17:01 · 681 阅读 · 0 评论 -
Android的线程和线程池
从用途上来说Android的线程主要分为主线程和子线程两类,主线程主要处理和界面相关的工作,子线程主要处理耗时操作。除Thread之外,Android中还有其他扮演线程的角色如AsyncTask、IntentService、HandleThread,其中AsyncTask的底层用到了线程池,IntentService和HandleThread的底层直接使用了线程。AsyncTask内部封装了线程池和Handler主要是为了方便开发者在在线程中更新UI;原创 2022-12-20 17:08:32 · 569 阅读 · 0 评论 -
Android组件之Fragment(一)---基础知识与运用
1.Fragment是Google官方引入的一个为了适配大屏、多页面的一个组件。您可以理解为它就是一个类而已,只不过里面包含了View,并且与activity的生命周期进行了关联。2.动态加载与静态加载相对来说,建议使用动态加载,静态加载固定在了xml文件中,永远不变。3.replace的fragment如果不在前台,会执行所有生命周期,反之不会执行任何生命周期方法;原创 2022-12-16 21:39:10 · 350 阅读 · 0 评论 -
RecyclerChart其它图表绘制
之前章节介绍了RecyclerChart 中一些通用的图表的相关绘制逻辑,本章节介绍两种Special的Chart的绘制,一种是心电图,一种是睡眠图。首先我们来看下心电图EcgChart的绘制。原创 2022-12-15 21:05:08 · 260 阅读 · 0 评论 -
从 0 到 1 搞一个 Compose Desktop 版本的天气应用(附源码)
由于该插件使用jpackage,所以最低得使用JDK 15。JAVA_HOME环境变量指向兼容的 JDK 版本。javaHome通过 DSL 设置:}}}}}DSL 块中提供以下属性— 应用程序名称(默认值:Gradle 项目名称);version— 应用程序的版本(默认值:Gradle 项目的版本);— 应用程序的描述(默认值:无);copyright— 应用程序的版权(默认值:无);vendor— 应用程序的供应商(默认值:无);— 应用程序的许可证(默认值:无)。}}}原创 2022-12-14 21:40:44 · 602 阅读 · 0 评论 -
由浅入深,详解 LiveData 的那些事
关于,在2022尾声的今天,从事 开发的小伙伴一定不会陌生。相应的,关于 解析与使用的文章更是数不胜数,其中不乏优秀的创作者,在众多的文章以及前辈面前,本篇也不敢妄谈能写的多么深入,易懂。本篇主要想着重聊聊 的实现思想,以及与之相关联的一些问题,试着从另一角度告诉你这些答案,或者说是个人的浅薄理解。在我的认知里,如果你了解完这些,那么对于 ,我想就也就不会再有疑问 😃在阅读本文前,建议读者有以下前置知识储备:本篇将从以下几个方面解析 :在官方的描述中, 如下所示:说简单就是 是一个可观察的数据存原创 2022-12-06 16:31:15 · 274 阅读 · 0 评论 -
现成的MVI框架——mavericks
Android架构演变:MVC、MVP、MVVM、MVI。新技术层出不穷,架构一天一个样。像我这种懒惰又不自律的人,能学习上最新的技术,就已经佩服我自己了。所以造轮子是不可能造轮子的,这辈子都不可能造轮子!于是乎我就在github上审阅各种轮子,默默的star,以备不时之需。这就是我和mavericks的缘分。废话已毕,下面我们开启正文。原创 2022-09-19 16:27:30 · 1780 阅读 · 0 评论