
技术提升
文章平均质量分 90
AI绘画百宝箱
这个作者很懒,什么都没留下…
展开
-
三年多Android开发经验应该如何进阶?
3年开发经验如何突破瓶颈?原创 2023-03-29 21:06:13 · 287 阅读 · 0 评论 -
Android架构师突破手册,3-5年开发经验者进阶学习指南
Android工程师入门到精深-完整版学习资源原创 2023-03-20 21:52:45 · 253 阅读 · 0 评论 -
flutter 屏幕适配分析
算出一个rpx后,再将自己的size和rpx单位相乘即可: 比如100px的宽度:100 * 2 * rpx 在iPhone5上计算出的结果是84px 在iPhone6上计算出的结果是100px 在iPhone6plus上计算出的结果是110.4px。此外,良好的职业规划也很重要,学习的习惯很重要,但是最重要的还是要能持之以恒,任何不能坚持落实的计划都是空谈。:物理像素与逻辑像素的比例,当像素比为1:1时,使用1个物理像素显示1个逻辑像素;首先需要在入口main.dart初始化。原创 2023-03-11 17:31:03 · 1045 阅读 · 0 评论 -
从0开始,Android音视频最全进阶学习路线,终于整理出来了
音视频开发究竟有多吃香?如何入门?原创 2023-03-10 09:54:44 · 513 阅读 · 0 评论 -
最新版Android面试题必知必会,刷完拿捏80%以上的面试
求职可以不迷信大厂,但一定要迷信这份面试题!原创 2023-03-02 20:25:43 · 125 阅读 · 0 评论 -
新版Android Studio Logcat view使用简明教程
从Android Studio Dophin开始,Android Studio中的默认展示了新版的logcat。新版的logcat色彩上是更加的好看了,不同的tag会有不同的颜色,不同level等级的log默认也有不同的颜色。log过滤修改的更简洁了,当然使用起来也更加复杂了。原先的log视图只需要勾选就可以选择不同level的log了,只需要选择只展示当前应用的log就可以过滤掉其他应用的log了,但是新版只提供了一个输入框去过滤。在经过几个月的适应和对于官方文档的学习后,终于熟练使用,这里简单分享一下,原创 2023-02-27 14:36:49 · 4155 阅读 · 0 评论 -
Android寒冬已至?别站在半山腰就说风景不好,真正厉害的人永远在攀登!
早在2011年就有言论说Android系统要完蛋,但时过9年后,Android系统仍旧坚挺,相信Android还会坚挺很长一段时间。未来Android相关开发的人数还是会缓慢增长,毕竟IT领域本就火热,且Android的细分领域也是暗藏生机。因此,想要继续坚守,就必须提升自己的竞争力。不说成为全栈人才,但起码要精通某个细分领域。原创 2023-02-24 16:50:36 · 220 阅读 · 0 评论 -
内存泄漏大集结:安卓开发者不可错过的性能优化技巧
内存泄漏是指程序中的某些对象或资源没有被妥善地释放,从而导致内存占用不断增加,最终可能导致应用程序崩溃或系统运行缓慢等问题。长时间持有Activity或Fragment对象导致的内存泄漏;匿名内部类和非静态内部类导致的内存泄漏;WebView持有Activity对象导致的内存泄漏;单例模式持有资源对象导致的内存泄漏;资源未关闭导致的内存泄漏;静态变量持有Context对象导致的内存泄漏;Handler持有外部类引用导致的内存泄漏;Bitmap占用大量内存导致的内存泄漏;原创 2023-02-22 09:41:35 · 334 阅读 · 0 评论 -
2023年技术再洗牌,又要卷起来了?
最近在知乎看到这样一个问题,简直震惊我一百年!什么时候程序员、北京的字眼也和月薪四五千搭上边了。难道Android已经这么惨了吗?从多份行业报告来看,这几年Android的热度确实在下降,行业饱和、岗位缩招都是非常直观的事。。Android在移动设备上的全球占有率还是会在今后的很长一段时间里独占鳌头,Android端产品和开发岗位的需求目前还是非常充足的,至少不会在IOS之前凉凉。原创 2023-02-20 16:11:14 · 127 阅读 · 0 评论 -
从基本的知识技能出发,分析Android工程师到架构师的转变
从基本的知识技能出发,分析一下Android工程师到架构师的转变是什么,该如何成为一个架构师原创 2023-02-16 14:31:02 · 148 阅读 · 0 评论 -
人到中年,Android程序员如何完善技能树,冲击高薪?
在温水煮青蛙的模式下工作了五六年,我原本以为自己可以干到退休,但疫情的冲击、大厂的裁员给我泼了一盆冷水,让我彻底清醒了。在团队中,每个人的价值是有限的,但同样的技术有比你更年轻的人也能做,那么就算你头发茂密,还能造两年,但对于公司而言,性价比在降低,在团队中已经没有太多价值了。人到中年,糟心的事都会推在一起来。为了让自己拥有更强的抗风险能力,避免发生灭顶之灾,对于职位和薪资的提升都是非常有必要的。当然,职位和薪资的提升归根结底还得是技术。深挖原理、精进技术是成为架构师、突破薪资范畴的必经之路。原创 2023-02-14 17:29:40 · 181 阅读 · 0 评论 -
Android深思如何防止快速点击
其实快速点击是个很好解决的问题,但是如何优雅的去解决确是一个难题,本文主要是记录一些本人通过解决快速点击的过程中脑海里浮现的一些对这个问题的深思。原创 2023-02-11 20:01:34 · 802 阅读 · 0 评论 -
高仿B站自定义表情
在之前的文章给你的 Android App 添加自定义表情 中我们介绍了自定义表情的原理,没看过的建议看一下。这一篇文章将介绍它的应用,这里以B站的自定义表情面板为例,效果如下:原创 2023-02-07 09:30:10 · 181 阅读 · 0 评论 -
Android音视频开发依旧火热,我却不知如何上手?
毫无疑问,未来 5G 时代音视频方向会继续红火。作为Android开发,接触音视频首要的就是学习 `C++` ,学习 `FFMpeg` 开源项目,了解音视频的编码协议、容器封装和网络协议,以及学习 NDK 开发。原创 2023-02-03 21:45:12 · 135 阅读 · 0 评论 -
通过官网项目来学习——Jetpack之Startup库
nowinandroid项目作为目前google官方来演示MAD(现代Android开发技术)的示例项目,里面大量依赖运用了jetpack包下的各种库。通过分析学习这些库在项中的实际使用可以帮助我们比直接阅读库的文档来更好的理解和学习。希望通过学习后可以帮助到我们能熟练地在我们自己的项目中正确高效的使用到jetpack里面的各种强大库。不废话了,下面进入我们今天的正题——**Startup**原创 2023-02-01 15:54:15 · 219 阅读 · 0 评论 -
Android通知栏增加快捷开关的技术实现
我们通常可以在通知栏上看到“飞行模式”、“移动数据”、“屏幕录制”等开关按钮,这些按钮都属于通知栏上的快捷开关,点击快捷开关可以轻易调用某种系统能力或打开某个应用程序的特定页面。那是否可以在通知栏上自定义一个快捷开关呢?答案是可以的,具体是通过TileService的方案实现。 TileService继承自Service,所以它也是Android的四大组件之一,不过它是一个特殊的组件,开发者不需要手动开启调用,系统可以自动识别并完成调用,系统会通过绑定服务(bindService)的方式调用。原创 2023-01-28 14:27:58 · 2410 阅读 · 0 评论 -
Android从业者如何改变现状?最新Android高级学习笔记,助你提升进阶
每个人都变得越来越浮躁了,欠的技术债太多, 到了要面试的时候,就开始病急乱投医,死记硬背一些面试题,搜集各种博客、资讯网站、技术群里的信息…只要是程序员,不管是Java还是Android,如果不去阅读源码,只看API文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。如今,新的一年已经开始了,不少人踌躇满志,想要改变现状,一展身手。但无论你是想转行热门技术,还是在自己的领域里继续深耕,都必须先专精技术,再在此基础下,顺应时代,学习前端和跨平台的知识,拥抱大前端。原创 2023-01-17 15:54:02 · 83 阅读 · 0 评论 -
「Android」用 Spotless 让你的代码 “一尘不染“
这是一个代码格式化工具,我们可以定义自己想要的代码规则在需要的时候去应用它,整个过程完全自动且可以应用于整个工程。Spotless 支持多种语言:c、c++、java、kotlin、python 等等更多,应用广泛的开发语言基本都支持。插件丰富,支持 Gradle、Maven、SBT。并且有 IDE 插件,如:VS Code、Intellij。社区活跃,很多优秀的开源贡献者,如:ktlint、ktfmt、prittier 等, Github 上的提交经常是几天前。原创 2023-01-14 20:11:01 · 550 阅读 · 0 评论 -
由浅入深,详解 ViewModel 的那些事
在这一章节,我们主要探讨的是的创建流程,以为例:我们知道 Android 中关于状态的保存与还原,官方建议使用与,但随着JetPack组件库的完善,官方在这两个方法的基础上新增了SavedState,目的是简化状态保存的成本。从原理上,其创建了一个 状态保存的的注册表,内部缓存着具体的状态提供者合集(key为string,value为SavedStateProvider)。当我们 Activity 因为配置更改或者不可控原因需要重建时,系统此时会主动调用方法,从而触发调用去保存状态。原创 2023-01-10 09:47:19 · 510 阅读 · 0 评论 -
干货预警,企业级Android车载系统开发手册,开源分享!
随着科技产业的迅猛发展,车载互联的应用愈发广泛,现阶段,各大车企的车载互联系统已是百家争鸣,更有业内人士称未来汽车就是“装配四个轮子的iPhone”,车载行业的良好的发展势头可见一斑。而车载开发运用最多的就是Android系统,Android开发体系已十分成熟完善,且具有更便宜,开发方便的特点,只是稳定性稍差,但丝毫不影响其占据娱乐应用市场。现在也已有越来越多的Android从业者慢慢地向系统开发靠近,尤其是车载系统的开发。只是想要入门Android车载并非一日之功,现阶段车载系统知识庞杂,通俗易懂的资料非原创 2023-01-06 15:30:56 · 571 阅读 · 0 评论 -
不就是一个空白页,有必要那么讲究吗?
在各类软件应用中,会经常遇到空页面的情况,比如列表无数据、搜不到相应结果、用户数据没有添加等等。这种空页面看似很少出现,但是如果不注意体验的话,会让用户不快甚至是困惑。今天我们就来讲讲针对各类空页面,如何改善用户体验。原创 2023-01-05 20:13:52 · 297 阅读 · 0 评论 -
Riverpod源码分析(二)
上一篇《[Riverpod源码分析(一)》我们已经对 Riverpod 做了一个比较全面的介绍,今天我们就开始分析 Riverpod 的源码实现和状态更新执行过程。原创 2023-01-03 15:57:31 · 421 阅读 · 0 评论 -
【Android进阶】Jetpack Compose应用开发指南第二版.PDF
`Jetpack Compose` 发布也快有一年的时间了,虽然目前仍是DEV阶段,但是距离可用已经不远了。`Compose`库是用响应式编程的方式对View进行构建,可以用更少更直观的代码,更强大的功能,能提高开发速度(可以参考几乎一模一样的Flutter,开发速度确实很快)。`Jetpack Compose`对于没有接触过声明式UI的小伙伴可能会学习曲线有点陡峭,对于已经能熟练开发Flutter应用的小伙白来说几乎没有难度。因此,这篇文章不再去解释过多的原理与技巧,而是让你能够快速入门,并上手开发项原创 2022-12-31 21:05:00 · 1410 阅读 · 0 评论 -
最强Android插件化、组件化强化实战(附源码解析)
通常情况下,我们刚加入一个app工程时,只有一个组件,但随着业务模块逐渐壮大,代码量飞快增多,每个模块之间的耦合性也越来越高,导致我们稍微改动一个模块的一点代码都要编译整个工程,。于是,开发者便想到将应用分成若干 Module 模块,也就是**“组件化”**,让 每个业务模块互不依赖、互相解耦,在开发的时候可以安排不同的开发人员去开发不同的模块,开发完毕以后单模块测试,最后整合到一起总体测试上线。“组件化”极大地提升了开发效率,而与“组件化”常常一同被提起的就是“插件化”。原创 2022-12-29 22:10:03 · 279 阅读 · 0 评论 -
【Kotlin回顾】22.Kotlin协程—Flow原理
flow {emit(0)emit(1)emit(2)emit(3)}}//输出结果://it:0//it:1//it:2//it:3//end这是Flow的最简单的使用方式,通过调用collect}}flow是一个高阶函数,参数类型是,FlowCollector是它的扩展或者成员方法,没有参数也没有返回值,flow()函数的返回值是Flow,具体到返回类型是SafeFlow(),SafeFlow()是的子类。//1//2try {//3}}}从源码中可以知道它实现了。原创 2022-12-27 14:03:32 · 424 阅读 · 0 评论 -
Android进阶宝典 -- Handler应用于线上卡顿监控
我详细介绍了对于线上App内存监控的方案策略,其实除了内存指标之外,经常有用户反馈卡顿问题,其实这种问题是最难定位的,因为不像Crash有完整的堆栈信息,而且卡顿问题可能转瞬即逝,那么如何健全完整的线上卡顿监控,可能就需要我们对于Android系统的消息处理有一个清晰的认知。原创 2022-12-26 14:03:12 · 619 阅读 · 0 评论 -
Android 音视频开发进阶学习之路(FFmpeg解码、OpenGL、直播聊天、阿里IM技术...)
日常工作中,我们或多或少都会接触到音视频的开发,比如许多业务中都会涉及到 TSPlayer、IjkPlayer、MediaPlayer 提供播放能力。不管是什么 Player,其上层的调用都是大同小异,但要说具体如何实现,以及能够支持怎样的能力则是各不相同。因此,要想继续深耕下去就必须深入学习。我们可以先接触Android多媒体展示的API,对音视频的知识框架有一个基本的认知,再通过核心API将音视频流程串联起来,直达底层原理。原创 2022-12-16 20:36:12 · 349 阅读 · 0 评论 -
Flutter 长按表示弹出菜单后点击菜单跳转画面
Flutter 长按表示弹出菜单后点击菜单跳转画面原创 2022-12-14 14:36:39 · 1547 阅读 · 0 评论 -
最新《Android Framework源码解析》开源,精通Framework真的可以为所欲为
在官方的解释中,Framework具体的工作是为Android应用开发的开发人员提供了一系列的服务和API的接口。但从事Android开发的人员都知道许多Android技术中的疑难杂症都需要对Framework有比较深入的了解,同时Framework也逐渐成为了求职中的重要加分项。因此,Android Framework必须学,而且要学好!这是你硬实力的体现,最强的杀手锏。原创 2022-12-13 20:03:22 · 480 阅读 · 0 评论 -
BasicLibrary架构设计旅程(一)—Android必备技能
2022年对大部分人来说真的是不容易的一年,有不少粉丝私信问我,今年行情不好,但是现在公司又不好怎么办,我的建议就是学习。无论过去,现在,未来,投资自己一定是不会错的,只有当你足够强大,哪怕生活一地鸡毛,你也能垫起脚尖独揽星空。对于Android来说,我觉得有两个能力和一个态度一定要掌握阅读源码的能力阅读字节码的能力怀疑的态度Android必备的技能,其实很多,比如JVM、高并发、binder、泛型、AMS,WMS等等我个人觉得源阅读码能力和掌握字节码属于必备技能,能提高自己知识领域。原创 2022-12-09 10:16:13 · 226 阅读 · 0 评论 -
收藏这篇《Android开发源码精编解析》,升职加薪不是梦
阅读源码是个枯燥的过程,是件短期内低回报的事情。但所谓滴水石穿,只要持之以恒,坚持一段时间之后,所获得的最终成就便是巨大的。了解项目代码是参与(开源)项目的第一步,希望这篇文章能帮助你提高源码阅读与理解的能力,快速提升自我技术水平和编程功力,参与到心仪的项目中去。原创 2022-12-08 15:20:14 · 161 阅读 · 0 评论 -
聊一聊Kotlin协程“低级“api Pika
Kotlin协程已经出来很久了,相信大家都有不同程度的用上了,由于最近处理的需求有遇到协程相关,因此今天来聊一Kotlin协程的“低级”api,首先低级api并不是它真的很“低级”,而是kotlin协程库中的基础api,我们一般开发用的,其实都是通过低级api进行封装的高级函数,本章会通过低级api的组合,实现一个自定义的async await 函数(下文也会介绍kotlin 高级api的async await),涉及的低级api有startCoroutine ,ContinuationIntercepto原创 2022-12-05 13:49:24 · 207 阅读 · 0 评论 -
Kotlin协程之一文看懂Channel管道
Channel 类似于 Java 的 BlockingQueue 阻塞队列,不同之处在于 Channel 提供了挂起的 send() 和 receive() 方法。另外,通道 Channel 可以被关闭表明不再有数据会进入 Channel, 而接收端可以通过 for 循环取出数据。Channel 也是生产-消费者模式,这个设计模式在协程中很常见。Channel 类似于 BlockingQueue 阻塞队列,其不同之处是默认把阻塞行为换成了挂起,这也是协程的一大特性。它的思想是生产-消费模式(观察者模式)原创 2022-11-29 13:42:50 · 339 阅读 · 0 评论 -
Android最新热门岗位——车载开发,快速入门指南
众所周知汽车工业是发达国家重要的经济支柱,而中国作为世界上最大汽车生产和销售国,自首个外商独资的整车制造项目“上海特斯拉超级工厂”开工之后,各大汽车制造商纷纷开始布局智能化发展战略,智能化汽车的时代就此开启。而今,车载软件在汽车领域的重要性不断被拔高,可以预见的是未来汽车的将是以人工智能为核心的软件技术。同时,车载开发相关的岗位也逐渐由冷门变为热门,行业需求持续增加,薪资水平也不断提高,许多开发人员开始转战Android车载。原创 2022-11-27 21:47:58 · 375 阅读 · 0 评论 -
Android IO 框架 Okio 的实现原理,到底哪里 OK?
大家好,我是小彭。今天,我们来讨论一个 Square 开源的 I/O 框架 Okio,我们最开始接触到 Okio 框架还是源于 Square 家的 OkHttp 网络框架。那么,OkHttp 为什么要使用 Okio,它相比于 Java 原生 IO 有什么区别和优势?今天我们就围绕这些问题展开。本文源码基于 Okio v3.2.0。思维导图1、Okio 将原生 IO 多种基础装饰器聚合在 BufferedSource 和 BufferedSink,使得框架更加精简;原创 2022-11-24 10:15:46 · 1335 阅读 · 0 评论 -
阿里开源《Android架构开发手册》探索Android架构师技术成长之路
架构是以组件、组件之间的关系、组件与环境之间的关系为内容的某一系统的基本组织结构,以及指导内容涉及与演化的原理。Android架构从下往上依次为:**Linux内核层、系统库和Android运行时环境、framework层和应用层这四层架构。**Android的架构模式,更多代表的是其存在的意义、角色的划分规则及角色之间的通信。对于Android开发者来说,常见的架构模式基本上就是三种,分别是MVC、MVP、MVVM。原创 2022-11-22 16:19:14 · 178 阅读 · 0 评论 -
全网最优雅安卓列表项可见性检测
首先埋点逻辑入侵 Adapter,Adapter 的使命是数据和视图的变换,现在和它使命无关的埋点被植入。这使得它不再单纯,后果是它无法被单独的复用。假设另一个业务场景会请求同样的接口,展示同样的列表,Adapter 的代码无法被复用,因为它和"material-item-show"耦合(现在的埋点可能换为"search-material-item_show")。原创 2022-11-18 11:16:44 · 237 阅读 · 0 评论 -
”终于读懂了“系列之 Jetpack 架构组件从入门到精通
前两年,我们在招聘新人的时候常常面临着这样的问题:市面上对 Jetpack 熟悉的 Android 开发者太少了。有的简历上写了“熟悉 Jetpack” ,拉过来一问,根本达不到业务的要求。如何快速培训新人、Jetpack究竟能否成为主流也成为了困扰我许久的问题。但看 Google 每年的 IO 大会,从2017 年就开始推广 Jetpack,后面的这五年里,每年都会强调。虽然现阶段大部分公司只是将其作为加分项,但我想,在未来,Jetpack 一定会成为 Android 的必备技能,成为岗位候选人非常有原创 2022-11-16 17:18:34 · 569 阅读 · 0 评论 -
Android Compose 动画使用详解(五)动画配置之SnapSpec、KeyframesSpec
`SnapSpec`为快闪动画规格,何为快闪呢?即动画从当前状态瞬间变化为目标状态,简单的说其实就是没有动画效果。既然是没有动画效果那为什么还要使用动画再配置`SnapSpec`呢?直接修改组件对应的值不就行了么?确实是这样,如果只是单一的使用 `SnapSpec`配置动画跟直接修改组件对应值达到的效果是一样的,但是有时候在动画有多个状态时可能需要某一个状态的变化是没有动画效果,此时就可以使用 `SnapSpec`来实现。原创 2022-11-14 09:46:03 · 524 阅读 · 0 评论 -
Android音视频学习资料大合集,音视频开发成长之路
目前主流的音视频开发岗位大多从Android/IOS移动开发、嵌入式开发、应用开发等有开发基础的IT人员中转行而来。但音视频领域本身所要接触和学习的也并不少。我们要具备全栈的音视频技术体系思维和视野,能够结合企业实际场景业务,进行播放器、录屏器、推拉流直播、视频监控、音视频通话、流媒体服务器等实际项目的开发。原创 2022-11-10 14:30:34 · 168 阅读 · 0 评论