自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 刚面完字节,热乎。

最后,想给大家一些值得参考的小建议,我们可以通过刷面经、准备面试的过程中发现自己不足的点,从而帮助自己高效学习,而不是一直闭门造羹、不敢去尝试。在我大一的时候,就投简历到了京东,那次面试简直被面试官虐残惨了,一问三不知,其实就是当时自己的技术比较菜,当时可以说是磨灭了我一部分信心吧。通过这次面试,却让我重拾信心,让我看到了自己和大厂之间的距离正在渐渐缩小,也看到了一丝丝胜利的曙光,但是还是需要坚持不懈的努力 💪在这里给大家分享我面试之前刷的面试题,希望对大家有帮助!承诺100%免费。

2022-02-21 17:38:26 4101 11

原创 外包干了三年,我变得不思进取,腾讯老表给了我这份笔记后,我给跪了。。。

基本情况先说一下个人情况,大专生,18年通过校招进入湖南某软件公司,干了接近3年的CRUD,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了三年的CRUD,已经让我变得不思进取,谈了2年的女朋友也因为我的心态和工资和我分手了。于是,我决定要改变现状!刚开始准备时,自己都蒙了,3年的CRUD让我的技术没有一丝的进步,提升的只有我的年龄…没办法,我找到了我在腾讯的老哥,作为他的老表,在他了解了我的情况后(几乎就是Android基础开始),直接甩给我一份学

2022-01-18 15:07:18 2231

原创 Android常见Crash分类和介绍

1、通用的Log标识需要了解,拿到Log文件后找不到自己模块的Log,也可以找找自己的包名、主Activity名、原生抛出的通用Crash标识等,Crash问题可能是我们调用其他模块函数引起的,也可能是别人调用我们函数引起的,基于通用的Log分析定位大部分的还是能够定位出原因的,基于以上分析如果还是无法定位,根据现象分析等可以酌情给可能引起问题的类添加Log,再去依赖测试去重新截取Log等,尽量不要出现测试反复截取无Log的现象。

2024-05-22 10:42:09 762

原创 kotlin 协程入门教程

由于协程的这个特点,导致了一个协程的异常会影响到其他所有的协程。如下图所示,当子协程1发生异常时,它会先会传递给父协程,再从父协程传播到子协程2和3,从而影响所有的协程。,协程1和 parentJob 就不是父子结构了,这时虽然协程1抛出异常,由于不是父子关系了就不会影响其他协程,但是同时parentJob.cancel 和 join方法也无法影响到协程1了。由于协程的本质是线程池的任务,并且协程本身是结构化的,这就导致它的异常处理机制与我们普通的程序完全不一样。下面将介绍我们处理协程异常需要注意的点。

2024-05-21 14:35:09 452

原创 音视频开发的一些学习分享(建议收藏!!!)

随着移动互联网和智能设备的普及,音视频内容已成为人们日常生活和工作中不可或缺的一部分。一个功能强大、性能稳定、易于使用的音视频功能可以显著提升用户体验,从而增加应用的用户粘性和市场份额。它不仅关乎用户体验和市场竞争力,还涉及到技术挑战和创新机会。所以对于希望在Android开发领域有所建树的程序员来说,掌握音视频开发技能是非常必要的。毋庸置疑,在音视频行业是有技术门槛的,同时学习资料(包括书籍之类的,非常少!)非常少,可以说,市面上系统的音视频书籍非常少,不信大家可以自行去各个网站搜索一下。不止是书籍方面

2024-05-21 10:57:38 383

原创 Android Studio 使用Gemini 提升开发效率

最新版本的Android Studio 添加了Gemini,Gemini 是 Android 开发方面的AI编码助手。他可以帮助我们生成代码、学习最佳实践、查阅资料帮助你解决问题等等,Gemini 提供的问答可能是不准确的,需要开发者甄别使用。作为android studio 自带的AI辅助功能,Gemini 和android 开发结合的更加完整,其能够帮助我们大大提升开发效率,节省我们的开发时间,但也要注意有些回答是具有误导性,需要开发者自行辨别。期待他后续的进化迭代。

2024-05-18 15:27:50 475

原创 Android--Activity的创建过程

Activity的启动可以是应用启动时默认Activity的创建启动,也可以是从当前Activity跳转到未创建的目标Activity,本篇主要针对当前Activity跳转到未创建目标Activity的过程,新Activity的创建过程进行解析。

2024-05-17 15:44:41 523

原创 大厂,迎来了寒冬......

数据网上给出的新增的1179万大学生,灵活就业的3亿人口,还要需要安置的退伍军人和新增农民工,今年的就业压力是前所未有的。岗位的供给无法满足需求智能技术的飞速进步,传统行业正在发生变革。专家预测到了2024年,全球大概会有6%的工作岗位被人工智能给顶替掉,而咱们中国的情况可能更严重些。这无疑会给就业市场带来不小的冲击,一些行业的就业机会就会变少。产业结构的调整,新兴产业迅速崛起,而传统产业则面临产能过剩、利润下降等问题。这意味着许多过去热门的行业可能在未来几年内逐渐衰落,从而减少就业机会。

2024-05-17 14:37:04 724

原创 Jetpack Compose中的共享元素转场动画

在本文中, 你已经学会了如何使用各种示例实现共享元素转场和容器转换. Jetpack Compose 的发展令人印象深刻, 它让我们可以轻松创建复杂的动画. 这两种类型的动画都能使屏幕导航更直观, 更动态, 从而大大提升用户体验. 不过, 谨慎使用这些动画也很重要. 适当而不是过度地使用它们, 可以确保自然而吸引人的用户体验.祝你编码愉快!如果你看到了这里,觉得文章写得不错就给个赞呗?更多Android进阶指南 可以扫码 解锁更多Android进阶资料敲代码不易,关注一下吧。ღ( ´・ᴗ・` )

2024-05-15 19:11:41 873

原创 一文搞懂Android性能调优【Android程序员必读】

可能性太多了,那遇到这种情况该怎么破局呢?如果每一种的尝试一遍,浪费时间也不一定能有个结果,所以光靠盲猜是肯定解决不了Android的性能优化的问题。这需要朋友们具备深厚的系统知识体系,。这看起来要求并不低,但这就是一名 Android 开发者在成长之路上必须要跨越的一道坎。

2024-05-15 17:04:44 406

原创 Handler源码分析(同步屏障、异步消息和IdleHandler)

整个Handler源码分析分为两部分Handler源码分析(基础流程)Handler源码分析(同步屏障、异步消息和IdleHandler)上一篇我们已经分析完了整体的基础流程,这一篇来分析一下同步屏障、异步消息以及IdleHandler。

2024-05-11 13:44:46 748

原创 全屏意图通知 - Android

全屏意图是可以全屏启动并可用于显示全屏通知的[意图。好吧,我想这需要更多解释,所以继续阅读。

2024-05-11 11:28:57 301

原创 掌握这份Android八大模块进阶,轻轻松松月薪30W

放眼整个互联网行业,目前Android的app开发实在是太卷了,一大堆人都在叹气找不到工作,不仅是因为人太多,业务也在变少。所以说,如果当下的程序员只会做app开发的话,如果你没有方向,这里分享一份涵盖了从基本的Android开发到高级知识内容的《》,包括车载开发、UI设计,Android Framework底层原理等方面。这份学习笔记不仅深入浅出,而且非常实用,让大家系统而高效地掌握Android开发的各个知识点。

2024-05-11 10:30:15 844

原创 Android面试题之Kotlin异步流、冷流Flow

() = runBlocking { flow { emit(1) throw ArithmeticException(“Div 0”) }.catch { e:Throwable -> println(“catch $e”) //补充元素 emit(10) }.flowOn(Dispatchers.IO).collect{println(it)} }conflate(),合并发射项,不对每个值进行处理,比如1-3,只处理1和3,中间的值不处理。buffer(),并发运行流中发射元素的代码。

2024-05-08 10:25:27 656

原创 学会Android framework,让挑战成为跳板

2024年才过去四个月,全球IT科技行业显然又掀起了新一波的裁员潮,裁员人数已超50000人。尽管这轮裁员潮来得不如去年年初那样猛烈,但依然不免令不少人感到措手不及……每一位开发者都面临着前所未有的挑战。你是否也感到焦虑不安,担心手中的“技能牌”不够硬核?担心手中的饭碗随时都会被打破?在这片风起云涌的IT界,如何守住自己的饭碗乘风破浪,而不是被巨浪吞没?根据目前招聘情况,各岗位基本都对Framework都有要求,而且还比较高,所以是每位安卓开发工程师必须精通的,不然别想找到好工作!

2024-05-08 10:16:28 746

原创 深入理解Jetpack——ViewModel

如果你希望在ViewModel中使用Context,则可以使用 AndroidViewModel 类,它继承自 ViewModel ,并接收Application 作为 Context。ViewModel 的作用其实很简单,就是在屏幕旋转时,可以让数据继续存留。ViewModel 的生命周期如下图所示,可以看到当屏幕旋转时,并不会影响到 ViewModel。,不然获取的 ViewModel 是其对应 Fragment 下的对象,而不是同一个。中获取对应的 ViewModel 对象,而不是反射获取了。

2024-05-05 09:39:31 548

原创 Android中ListView的使用

这个就不是 ListView 来负责的,上面已经说过每一行数据最终是通过 fruit_item.xml 这个布局文件来呈现的,那么现在的问题就是怎么将 ListView 和 fruit_item 进行关联的?当有很多项元素,而且每一项元素的布局都是相同的情况下就可以使用 ListView 组件了, ListView = List + View。getView 方法是在滑动页面的时候来加载数据的,即使前面的数据已经加载了,当将屏幕往上滑动的时候还是会调用这个方法,这个方法会通过。

2024-05-05 09:36:01 800

原创 这份Framework背完了你就是Android开发的天花板!

现在客户端卷的风起云涌,很多安卓开发者都是抱怨连天。内卷之下,相比本来就堪忧的发量,前途未卜的迷茫带来的精神折磨更是雪上加霜。如何突破内卷?那就是做Android不能只盯着app那点东西研究,没事儿多学点framework和Linux操作系统是怎么玩的,这些东西不光可以帮你深层次的解决一些Android应用难题,更重要的是你拿着这些知识还可以去找系统开发相关的职位。但对于大部分的开发者来说,Android FrameWork都无法做到精通,更别提触类旁通了。

2024-05-05 09:34:12 1504

原创 Android程序员应用开发性能优化必知必会【建议收藏】

为何Android开发性能优化一直很重要,性能是关乎到一个APP的用户体验,应用的流畅性会让用户体验有很大影响,留住用户的使用率。除了这个还有能源消耗,这让设备的功耗降低。应用的稳定性,这些都是在市场的竞争有直接关系。所以大厂的Android开发在性能优化方面尤为重要,这也是一名优秀的Android开发人员具备的技能。

2024-05-04 11:45:00 798

原创 Android全屏显示刘海屏适配

【代码】Android全屏显示刘海屏适配。

2024-05-04 10:15:00 105

原创 作为Android程序员,没有项目经验,被问到性能优化怎么办?

通过询问性能优化的问题,面试官可以评估候选人是否具备扎实的技术基础,能否在面临性能挑战时提出有效的解决方案。面试官通过询问候选人在过去的项目中如何进行性能优化,可以了解他们是否具备实际的操作经验,以及他们在实际操作中遇到的问题和解决方案。同时,随着业务的发展和技术的更新,也需要不断地对系统进行调优,以适应新的需求和环境。描述你提出的优化方案所带来的效果,如性能提升的具体指标(响应时间减少、吞吐量增加等)、资源利用率改善等。如果可能的话,提供你在过去项目中遇到类似性能问题的例子,并说明你是如何解决的。

2024-04-30 09:18:04 717

原创 浅谈build.gradle.kts编译脚本

我这里只是简单讲解了一些主要的配置代码,你在实际的项目开发中可能还需要自行研究Gradle Kotlin DSL的更多源码以满足不同的编译需要。如果你看到了这里,觉得文章写得不错就给个赞呗?更多Android进阶指南 可以扫码 解锁更多Android进阶资料敲代码不易,关注一下吧。ღ( ´・ᴗ・` )

2024-04-30 09:15:43 908

原创 安卓开发 Jetpack Compose 的状态管理

*是一种业务逻辑或屏幕级状态容器。它用于将状态公开给界面,以及封装相关的业务逻辑。它的主要优点是,它可以缓存状态,并可在配置更改后持久保留相应状态。

2024-04-28 10:30:00 931

原创 全网最详细的Android性能优化实战篇【含腾讯、字节、美团、头条、爱奇艺】

34.抖音BoostMultiDex优化实践:Android低版本上APP首次启动时间减少80%(二)23.字节跳动技术团队—Scene:Android 开源页面导航和组合框架。32.百度App技术—Android 10分区存储介绍及百度APP适配实践。2.爱奇艺技术产品团队—干货|安卓APP崩溃捕获方案——xCrash。21.美团技术团队—Probe:Android线上OOM问题定位组件。22.美团技术团队—Android静态代码扫描效率优化与实践。

2024-04-28 09:30:00 400

原创 靠着这份大厂的Android面试题,我从15K变成了40K【附答案】

听起来15K很高吗?是的,那年的我以为15K很多很多,我也是异常的满足,后来向身边同行的朋友一了解,发现大家都是30K、40K,工作的第三年,接受不了现实的我毅然决然的离职了,于是开始不断的面试。可是我发现我三年的工作经验,根本不足以支撑我找到一份高薪的工作,更不能支撑我洒脱的裸辞。找工作半年还是一无所有,于是我找到了在腾讯做开发管理层的表哥,他告诉我说“在裸辞之前先掂量自己的能力有多少"。然后甩给我一份资料,我打开一看,里面是他收集的各大厂的Android面试题。

2024-04-25 10:16:30 917

原创 浅聊下对Android app开发成长有益的一些技能

从上面几种场景来看, 学习一门后台技术, 真真很有必要. 特别是你越进阶, 跟后台的协作就越多, 这时你的一些提前研究, 自主的, 不依赖于后台的自己的服务器就能帮到你很多次.

2024-04-25 10:15:10 728

原创 如何在windows搭建Android系统源码学习环境

随着对android源码的学习,在[cs.android.com/] 查看源码还是有些捉襟见肘,虽然cs的体验还是不错,但是目前只对main分支的代码symbol有索引跳转,有时候还是有些不方便的,于是决定自行搭建一套可以方便快速查看源码的本地系统。

2024-04-24 10:33:32 533

原创 Hive 在 Flutter 中的使用

官方原话:Hive是为Flutter设计的。如果您需要一个轻量级的数据存储来支持您的应用,它非常合适。添加所需的依赖并初始化Hive后,您就可以在项目中使用Hive了Hive 是一款用纯 Dart 编写的轻量级且极速的键值数据库,其灵感来源于 Bitcask。

2024-04-24 10:25:30 702

原创 还没升职加薪吗?看这篇全网最全Android Framework学习指南!

为什么你还没升职加薪?为什么你离职了就找不到工作?为什么你还没达到30K的月薪?因为你积累的经验还不足以支撑你达到这个水平!简单地说,你的工作不吃经验!你以为你有好几年的开发经验,面试官一问Framework,你就面露难色。大厂裁员,小厂倒闭,应届生涌入市场,如此悲观的市场环境下就只有Framework站稳了脚跟。从目前招聘需求以及岗位薪资来看,Framework开发的热度从未下降,甚至有不少的公司将Framework单独列出来作为一个岗位。

2024-04-24 10:15:12 1029

原创 一文速览Kotlin 1.9.0重大更新

近些年Kotlin的版本虽然发布的很频繁,但是我们也可以看出Kotlin的更新重点放在了性能、编译器等方面,可以让开发者直观感受到的变更并不多。我个人比较期待在Kotlin Multiplatform上有更重大的进展~如果你看到了这里,觉得文章写得不错就给个赞呗?更多Android进阶指南 可以扫码 解锁更多Android进阶资料敲代码不易,关注一下吧。ღ( ´・ᴗ・` )

2024-04-22 11:15:07 754

原创 【Android面经分享】大龄程序员面试中国电信的艰辛历程!

顺利通过了此次的面试,我也是拿到offer的人了。所以说,作为Android程序员,三十五岁虽然是程序员的一道坎,但是年龄并不是硬性要求,只要我们的实力足够的抗打,足够的优秀,我们一样可以稳稳地拿下大厂的面试,能够稳稳的度过三十五岁危机。面试前的准备是必不可少的,所以我现在决定将我查漏补缺的这份framework和性能优化的资料无偿分享给大家,如果有和我一样需求的朋友,可以扫描下方二维码,免费获取更多相关资料。

2024-04-22 11:12:03 1042

原创 Android开发中“真正”的仓库模式

Figure 1: 仓库模式多年来我见过很多仓库模式的实现,我想其中大部分是错误而无益的。下面是我所见最多的5个错误(一些甚至出现在那么要如何把仓库模式做对呢?

2024-04-19 14:16:14 989

原创 Android开发面试,framework方面的问题怎么回答?

整份文档一共有将近几十万字,全部为大家展示出来肯定是不太现实的,为了不影响大家的阅读体验就只展示了部分内容,还望大家海涵,希望能帮助到您面试前的复习且找到一个好的工作,也节省大家在网上搜索资料的时间来学习!需要获取更多免费资料的同学可扫描下方二维码。

2024-04-19 14:09:22 425

原创 Flutter要被放弃了?别瞎传了!

ps :我也整理了一些大厂必备面试知识点,以及学习笔记,面试题合集,以及面试大厂需要注意哪些的学习视频,如果现在需要跳槽或者准备找工作的朋友,可以在文末免费领取,也免去了你们自己上网搜集整理的时间!比如,让我写单例模式,我会写双重检查锁,顺便讲下DCL失败,由此又能引出很多知识点,工作内存/主内存(意义,副作用),volitale的实现,指令重排的积极/消极意义等等。项目上: 准备一个有亮点的项目,有大厂实习最好,没有的话自己包装一下,主要考察的是:实现思路,亮点难点,性能优化。本人看了eventBus。

2024-04-18 14:49:58 681

原创 const关键字声明的Widget不刷新?

首先,这个问题并不局限于使用Provider时才存在,任何这种组件自身内使用context或其他不依赖构造传参方式去动态获取数据并使用的场景下,都存在这种情况。归根结底就是组件自身的更新无法被父级驱动(因为父级认为你不需要更新)。那么为什么要给Widget声明const关键字呢?因为我们这个Widget没有接受任何变量,IDE认为我们这个Widget可以使用const构造,也就可以在声明时增加const关键字。。。显然IDE没有想到我们这个Widget虽然没有变量参数,但其内的展示是使用context。

2024-04-18 14:10:41 901

原创 2024企业常见174道Android面试题【附答案】

面试题和答案过多,全都展现出来也是不太现实的,我已经将这些资料整理成PDF版本,一共有几十万字,有需要的朋友可以扫描下方二维码,免费获取更多相关资料。

2024-04-18 14:05:25 778

原创 Jetpack-LiveData(面试深度起来)

4202年了,谁还用`LiveData`,X都不用。LiveData用过吧?setValue()和posValue()有啥区别?原理是啥?observe()和知道么?原理是啥,数据是怎么分发的?LiveData黏性知道怎么肥事吗?原理是啥?怎么解决?我: 用过,post不用管线程。一直等。黏性我看过 有个version的原因。面试官:你回去等消息吧。然后面试评价 :基础不牢,深度不够。虽然在4202年的今天,LiveData已经算比较落伍(捂脸我之前公司还在用),但是其中的源码解读,还是很有必要。

2024-04-17 14:30:04 621

原创 Android程序员不敢承认AI会让程序员下岗?

这就涉及到一个问题,如果一个完全不懂编程的人要求一个AI生成一个程序,虽然表面上看似前端表现是好的,但是谁来保证后端的逻辑正确性。如果不是程序员,有些问题你是很难发现的,或者说,不是专业的程序员,你甚至无法知道怎么去发现问题!所以说,AI会取代程序员吗?现在不会,但是在未来的某一天很难讲,可能会取代最基层的程序员,作为程序员,倒也不必太过于担心。我们只需要不断地提升自己的能力,不断的保持自身的竞争优势。那么就是你控制AI,而不是AI取代你!

2024-04-17 14:26:42 1198

原创 使用CompositionLocal简化组合式函数参数

为了解决这个问题,Jetpack通过CompositionLocal提供了一个带有层级结构的状态树,可以理解为OOP中把继承树中所有对象的行为移除之后的结果。从上面的例子可以看到,通过CompositionLocal可以隐式传递对象,并且传递给组合式函数对象可以由父函数控制,限制在特定范围内。因为我们可以把哪些与组合式函数自身逻辑无关,同时又会影响函数结果的对象放到CompositionLocal中,简化函数参数列表。代码4 部分内置的CompositionLocal对象。

2024-04-16 14:21:09 312

原创 kotlin协程挂起、恢复、suspend关键字

协程是一种协作式的代码程序,可以让开发人员自己去进行人为控制的一种框架。一种并发理念,在Kotlin开发语言的协程还是和其他平台不同的。

2024-04-16 14:14:09 555

空空如也

空空如也

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

TA关注的人

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