技术提升
文章平均质量分 83
AI女王
学习资料分享→推广名片
展开
-
Android开发源码精编,让开发能力更上一层楼
优秀源码的阅读与理解是最能提升自身功力的途径,阅读源码可以带来许多好处,包括:加深对编程语言的理解:通过阅读源码,你可以加深对编程语言的理解,了解其特性和限制,并学习如何运用这些知识来解决问题。原创 2023-03-11 15:57:53 · 174 阅读 · 0 评论 -
学懂Activity,看这篇就够了
本篇文章主要讲解如何快速实现Activity生命周期监听,以及其在官方lifecycle、第三方库Glide、PermissionX中的应用原创 2023-03-11 14:58:44 · 375 阅读 · 0 评论 -
Compose版本的Navigation组件的使用
在原生中,官方比较推荐使用单Activity+多Fragment模式来构建一个APP,而Fragment的切换需要使用FragmentManager来进行管理,比如add replace等方法,对于开发者来说,也是比较繁琐,于是官方在Jetpack组件中就是推出了Navigation的库,可以方便开发者快速去管理多Fragment的页面堆栈问题原创 2023-03-10 15:12:17 · 2326 阅读 · 1 评论 -
kotlin从零开始到架构师,开源资料分享
kotlin从零开始原创 2023-03-02 17:48:05 · 114 阅读 · 0 评论 -
Android framework有多重要!学懂了至少15K(经验总结+内核解析 附源码)
framework解析原创 2023-03-02 15:05:02 · 174 阅读 · 0 评论 -
2022程序员群体职场洞察报告:Android开发想要升职加薪应该学到什么程度?
近日,拉勾招聘针对程序员这一群体展开调研,并发布了《2022程序员群体职场洞察报告》,我们可以清晰地看到当前程序员群体的现状。对于2022的计算机毕业生群体:有77%的本科毕业生起薪超过了1万元,只有23%的00后程序员薪资在1万元以下。。而在这当中,11%的人经历过降薪;7%的人有过被裁员的经历,遭遇裁员后仍有3%的人未找到新的工作。可见,,这不单单是技术的问题,部门的晋升空间也是一件很重要的方面,,为了工作而工作,会给以后的发展留下大坑。原创 2022-11-23 14:33:19 · 334 阅读 · 0 评论 -
Android进阶全套资料已上线,带你直面“裁员”这一敏感话题
很多前人的经历告诉我们,刚刚毕业几个月就赶上了裁员大礼包的事情也会发生,还没干多久,甚至业务都不熟,就被打上能力不行的标签而辞退的人也比比皆是。在2022 年的今天,被裁员并不是新鲜事。?你会怎么回答呢?很多人可能会含糊其辞,说很多的客观原因,比如公司与自己的职业规划不匹配,公司的企业文化不太认同,团队氛围不太好……也有很多人宁愿让自己毕业后的一段时间空缺,也不会把短期的工作经历写上简历。不过,不管是哪种做法,都需要想好怎么回答。明确这是个人能力有问题,还是公司业务规划有问题呢?原创 2022-11-15 16:13:45 · 112 阅读 · 0 评论 -
常用的 Android 开源库整理
在Android的开发过程中,每个开发者或多或少的都使用过第三方的开源库,使用第三方的开源库可以给开发者节省大量的精力和时间,进而更好的关注应用本身的业务逻辑。下面列出一些开发者们非常常用的开源库。Fresco是非常强大的显示图像的开源库,它能够很好的处理图像的加载和显示。能够加载网络、本地数据库、本地资源中的图像,在图像加载出来之前,还能够预先设置一个预设的图像占位符,有二级缓存(内存和硬盘缓存)另外Fresco还提供了一些其他的开源库支持 Gif,WebP等。原创 2022-10-31 23:24:28 · 374 阅读 · 0 评论 -
全心全意的服务,让转行的我能够成功斩获自己心仪的offer——享学课堂
没有人会因为需要用学习资料而放弃投资自己,只是每个人认知水平不同,不同的人接受投资自己学习时所付出的高度不同,而这也可能成为一个人的人生高度!!!当然,如果你还在对比和观望中,也没关系,可以先加助理领取资料和金牌讲师的试听课链接!相信在其他多家对比之后,你依然会选择享学!!注:资料是持续更新的,人生的每个阶段都是可以学习,运用好本站学习资源,将改变你人生轨迹,跑在同龄人的前方!最后的最后,希望你能度过真正有意义的人生,抽出一点时间丰富自己的知识。规划好自己的时间,知行合一,格物致知。阳光,自律,博识,自由。原创 2022-08-17 14:15:55 · 256 阅读 · 0 评论 -
【Jetpack】学穿:Lifecycle → 生命周期 (原理篇)
0x1、Lifecycle核心思想本质上是围绕着这两个设计模式进行的:模板模式 → 定义算法骨架,对外开放扩展点,基于 继承 关系实现,子类重写父类抽象方法;观察者模式 → 对象间定义一对多的依赖,当一个对象状态发生改变,依赖对象都会自动收到通知;本节先肝下Lifecycle组件的两个库 lifecycle-common 和 lifecycle-runtime 的源码,了解实现原理,在肝Activity、Fragment中Lifecycle是如何发挥作用的。希望通过这节,能让你在实际开中能够有原创 2022-05-30 21:21:10 · 541 阅读 · 0 评论 -
【Jetpack】学穿:Lifecycle → 生命周期 (使用篇)
0x1、Lifecycle简介本节继续学穿Jetpack,带来第二个组件 Lifecycle,用于帮助开发者管理Activity、Fragment的生命周期,它可是LiveData、ViewModel等组件的基石。日常开发中经常会遇到这些问题:需要在Activity、Fragment的生命周期回调中执行特定操作,否则会引起 程序错误 或 内存泄露,比如:无限循环的属性动画忘记在onDestory中取消,Eventbus忘记在onDestory中unregister等。不要想着自己小心注意就好,在多原创 2022-05-27 17:04:53 · 939 阅读 · 0 评论 -
【Jetpack】学穿:DataBinding → 数据绑定 (使用篇)
0x1、引言ViewBinding(视图绑定) 的作用和原理一言以蔽之:作用 → 代替findViewById 的同时,还能保证 空安全 和 类型安全,且 支持Java;原理 → AGP为模块中的每个XML生成绑定类,本质上还是findViewByid,只是自动生成控件实例,并一一对应;可以把 ViewBinding 看做 DataBinding 功能的 子集,它有的DataBinding都有,而且还多了 数据绑定。何为数据绑定? 在维基百科中的定义如下:是将 “提供器” 的数据源与 “消原创 2022-05-26 16:43:02 · 1312 阅读 · 0 评论 -
【Jetpack】学穿:Activity Results API
0x1、引言🥰 不是什么新玩意了,恰逢最近拆公司项目的BaseFragment时看到介个:下划线?Deprecated?点开源码看下啥原因,有啥替代方案:注释说这种写法out了,可在 ActivityResultContract 中传入一个 RequestMultiplePermissions 对象,并在回调中处理结果。除此之外,诸如 startActivityForResult()、onActivityResult() 等都过时了。搜了一波官方文档《获取 activity 的结果 》,没找到原创 2022-05-24 16:53:45 · 372 阅读 · 0 评论 -
【Jetpack】LiveData一些容易被忽视的功能
前言LiveData平时经常使用,但是仅限于在页面上oberver注册一个观察者,在ViewModel里调用一下setValue、postValue仅此而已,今天决定过一遍LiveData库,发现了几个不常用但是却很有用的东西。LiveData核心库有两个:lifecycle-livedata和lifecycle-livedata-coreLiveData.java这是LiveData的核心类,所有主要逻辑均位于此在这里发现了这个observeForever,这个方法很少用,调用此方法注册的观察原创 2022-05-20 17:12:47 · 551 阅读 · 0 评论 -
Universal-image-loader数据接口和缓存实现策略
数据缓存图片数据的起始位置是远端的 数据服务器 ,直到被加载到内存中才可以展示到客户端界面的View上。为了加快数据处理速度,需要在每一步对处理过的数据进行保存,再次需要时直接使用节省时间,是为缓存。缓存策略数据缓存需要提供合适的缓存策略,原因有二:空间是有限的:APP分配到的内存大小和在文件系统中占据的空间大小依赖于操作系统的策略,都是有限的;空间不足时,需要对现有的数据进行删除,数据被再次用到的几率和频次是不同的;缓存分类依据上面的图,按照缓存的位置不同可以分为下面几个:网络缓存原创 2022-05-18 16:34:05 · 129 阅读 · 0 评论 -
Flutter 点击两次退出app
在安卓手机上才会有物理返回键,而ios手机是没有的,所以说这个是安卓手机独有的功能。使用场景:当用户在某一段时间内连续点击两次返回键,才会被认为是退出应用。在Flutter中想实现这个功能,首先我们先来认识一个Flutter中的组件WillPopScope,在Flutter中我们是用这个组件来实现物理返回键拦截的,从而实现点击两返回键退出应用。onWillPop是他的一个回调函数,当用户点击返回按钮时被调用(Android物理返回按钮),该回调需要返回一个Future对象,如果返回的Future最终值原创 2022-05-12 22:05:31 · 1007 阅读 · 0 评论 -
AIDL 有很多要注意的地方
官方提醒,只有在需要不同应用的客户端通过 IPC 方式访问服务,并且希望在服务中进行多线程处理时,我们才有必要使用 AIDL。如果我们无需跨不同应用执行并发 IPC,则应通过 实现 Binde来创建接口;或者,如果我们想执行 IPC,但不需要处理多线程,请 使用 Messenger来实现接口。本文主要是对于 AIDL 使用上的一点思考场景:我创建了两个应用,一个 app 作为服务端: BlogService,一个 app 作为客户端: BlogSample。其实同应用的多进程更常见一些,设计成多进.原创 2022-05-10 21:17:22 · 548 阅读 · 0 评论