自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(208)
  • 资源 (46)
  • 收藏
  • 关注

转载 ViewPager2的基本使用

参考:

2023-10-20 14:04:45 206

原创 WorkManager的基本使用

在app目录下的build.gradle导入依赖库// 导入WorkManager依赖。

2023-09-03 13:55:14 1281

原创 Navigation的基本使用

利用Navigation的三大组件,我们可以自由控制管理fragment的切换和数据传递和回退栈,不要再想以前一样通过FragmentManager进行replace或者show了,以及事务的提交,在数据传递方面,也不会通过fragmentID和接口回调的方式进行传递,大大方便了我们的代码编写。在应用中导航时,您告诉 NavController,您想沿导航图中的特定路径导航至特定目标,或直接导航至特定目标。NavController 便会在 NavHost 中显示相应目标。

2023-09-01 18:24:24 1709

原创 Room的基本使用

Room也同样如此,逐渐取代竞品成为最主流的数据库ORM框架。这当然不仅仅因为其官方身份,更是因为其良好的开发体验,大大降低了SQLite的使用门槛。通过Database获取DAO,然后通过DAO查询并获取entities,最终通过entities对数据库table中数据进行读写。Android Jetpack的出现统一了Android开发生态,各种三方库逐渐被官方组件所取代。

2023-08-31 16:26:09 198

原创 ViewModel的基本使用

【代码】ViewModel的基本使用。

2023-08-29 20:51:26 755

原创 DataBinding的基本使用

特别注意:MVVM模式下的ViewModel(VM)和 Jetpack的ViewModel 不是同一东西,MVVM中的ViewModel是层次结构,而Jetpack的ViewModel是组件库。缺点:Activity不仅要做View的事情还要做控制和模型的处理,导致Activity太过臃肿,管理混乱,没有单一职责,耦合度、扩展性都不太好。MVVM: 适用于界面更新很频繁,比如网易云音乐。MVP:适用于大型项目、业务很重、项目很大。MVC: 适用于小型项目,够灵活,缺点:出现接口过多、接口地狱问题。

2023-08-28 09:30:11 1031

原创 Lifecycle的基本使用

【代码】Lifecycle的基本使用。

2023-08-25 17:46:48 154

原创 ViewBinding的基本使用

通过gradle插件会生成对应的binding文件,比如布局xml文件名为activity_main.xml,对应生成的binding文件名为ActivityMainBinding。:开发人员可能会在类中导入其他xml布局文件的控件属性,从而导致不易察觉的错误。

2023-08-25 17:31:17 247

原创 LiveData相关基本使用及去除黏性数据的方法

该方式使用的是黏性数据。

2023-08-25 17:20:26 1043

原创 Android中tools属性的使用

Android Studio在tools命名空间中支持一些XML属性来开关设计功能和编译时行为。当构建应用时,构建工具会删除这些属性,从而不会影响APK的大小和运行行为。

2023-08-11 10:52:56 2380

原创 Kotlin单例代码实例

【代码】Kotlin单例代码实例。

2023-08-04 22:55:45 660

原创 kotlin 和 java 的区别

Kotlin 的编译时间比 Java 更快,这意味着在开发过程中你可以更快地看到你的代码的效果。泛型:Kotlin 的泛型支持更加丰富,它支持声明类型参数的上界,并且可以在编译时进行类型检查。Kotlin 支持密封类,这是一种特殊的类,可以限制它的子类数量。这可以帮助你在编译时捕获潜在的错误,并且还可以让你的代码更加清晰。Kotlin 支持扩展函数,这使得你可以为现有类添加新的函数,而无需修改原来的代码。Kotlin 支持实例初始化,这使得你可以在创建类的实例时直接初始化它的属性。

2023-06-20 21:27:56 906

原创 子模块交互方式

方式三:使用隐式意图方式,缺点是:在AndroidManifest.xml里面配置xml写的太多了。方式一:使用EventBus的方式,缺点是:维护成本太高,不好去管理;方式五:使用全球Map的方式,缺点是:要注册很多的对象。方式二:使用广播,缺点是:不好管理,都统一发出去了。方式四:使用类加载,缺点是:容易写错包名类名。方式六:使用ARouter。

2023-06-16 14:05:23 82

原创 Android中的Intent(显示&隐式)

Intent 隐式 和 显示使用

2023-06-06 14:08:20 615

原创 Bundle被用来传递数据,为什么不用HashMap代替?

Bundle底层的结构是采用ArrayMap

2023-06-06 12:54:12 133

原创 彻底理解LeakCanary的工作原理

LeakCanary工作原理解析

2023-04-10 16:41:02 2663 1

原创 SetContentView流程分析

SetContentView流程分析

2023-03-23 00:28:56 232

原创 Android应用启动过程优化

在ActivityThread里面有一个函数handleResumeActivity(),在这个函数中我们执行会间接的调用activity的onResume函数,当onResume函数执行完成后会在handleResumeActivity中如下的一段代码1。在上面的代码中,会执行WindowManager的addView函数,在这个函数里面会调用ViewRootImpl的函数,进而调用WMS的方法,将decor这个view显示到Window上,decor。第二阶段:应用Application执行过程。

2023-03-16 20:55:24 1013

原创 内存泄露(十)-- KOOM(高性能线上内存监控方案)

周期性查询Java堆内存、线程数、文件描述符数等资源占用情况,当连续多次超过设定阈值或突发性连续快速突破高阈值时,触发镜像采集镜像采集采用虚拟机supend->fork虚拟机进程->虚拟机resume->dump内存镜像的策略,将传统Dump冻结进程20s的时间缩减至20ms以内基于shark执行镜像解析,并针对shark做了一系列调整用于提升性能,在手机设备测即可执行离线内存泄露判定与引用链查找,生成分析报告。

2023-03-15 13:27:34 2676

转载 Android所有动画分类总结

Android动画分类

2023-03-12 22:59:17 975

原创 WMS相关知识点(二)

WMS相关知识点

2023-03-03 11:27:11 555

原创 WMS相关知识点(一)

WMS相关知识点

2023-03-02 11:18:46 597

原创 View的绘制流程源码解析

View的绘制流程源码分析

2023-02-24 00:12:55 520

原创 Android RxJava框架源码解析(四)

RxJava框架源码解析

2023-02-21 20:05:10 501 1

原创 Retrofit 网络框架源码解析(一)

Retrofit源码流程解析

2023-02-17 21:23:15 808

原创 OkHttp相关知识(三)

okhttp相关面试题

2023-02-05 19:05:21 1192

原创 select、poll、epoll的区别?

select poll epoll

2023-02-03 11:38:20 989

原创 Gradle参数配置

Gradle配置

2023-01-11 12:55:29 1326

转载 Android开发之getX,getRawX,getWidth,getTranslationX等的区别

点击事件相关的坐标获取

2023-01-04 10:39:06 629

原创 SystemServer启动流程

SystemServer启动流程,里面包含Launcher应用的启动流程

2022-12-28 16:43:34 1096

原创 kotlin内置函数的总结

kotlin内置函数的总结

2022-12-13 17:11:30 488

原创 序列化--Serial

序列化和反序列化

2022-12-04 20:26:38 547

原创 对zygote的理解

对zygote的理解

2022-11-22 11:27:25 739

原创 ButterKnife依赖注入框架源码解析

ButterKnife依赖注入框架源码解析

2022-11-21 14:40:31 587

原创 Glide图片框架源码解析

Glide图片框架源码解析

2022-11-18 10:41:03 1290

原创 retrofit网络框架源码解析(二)

retrofit网络框架源码解析

2022-11-16 16:12:15 554

原创 OkHttp相关知识(二)

OkHttp相关知识

2022-11-16 09:58:26 601

原创 内存泄漏的场景和解决办法

内存泄漏

2022-10-28 18:21:25 335

原创 在图片上添加水印

图片上添加水印功能

2022-10-27 15:58:38 177

原创 Android RxJava框架基础知识(三)

Rxjava

2022-10-24 18:13:45 627

WorkManager源码原理研究

WorkManager源码原理研究

2023-12-24

Navigation源码原理解析

Navigation源码原理解析

2023-12-24

Room应用与源码学习

Room应用与源码学习

2023-12-24

Jetpack之DataBinding技术实战

Jetpack之DataBinding技术实战

2023-12-24

手写一套注入注解绑定框架

手写一套注入注解绑定框架

2023-12-24

Hilt注入技术实现隔离层架构

Hilt注入技术实现隔离层架构

2023-12-24

移动端IOC注入技术Dagger2

移动端IOC注入技术Dagger2

2023-12-24

Lifecycle源码原理解析

Lifecycle源码原理解析

2023-12-24

LiveData源码原理解析

LiveData源码原理解析

2023-12-24

ViewModel综合实战解析

ViewModel综合实战解析

2023-12-24

注解+ 反射实例demo

注解 + 反射实例demo

2022-11-29

三级缓存 + hook 功能demo示例

三级缓存 + hook 功能demo示例

2022-11-11

装饰器模式实现简单demo

装饰器模式实现简单demo

2022-11-08

Android相关学习资料,包含源码和FrameWork内核j解析

可能是2020年最全最详细的Android面试题及答案解析(379页) + Android Framework 开发揭秘 + Android Framework精编内核解析 + Android 百大框架源码解析

2022-11-07

Rxjava demo 手写源码demo示例

根据Rxjava源码仿照写的一个简单demo示例

2022-11-07

手写图片加载Glide框架2

手写图片加载Glide框架2

2022-10-02

手写图片加载Glide框架

手写图片加载Glide框架

2022-10-01

Android与H5之间的调用demo

Android与H5之间的调用demo

2022-08-15

包含静态代理和动态代理demo代码

包含静态代理和动态代理demo代码

2021-07-14

Rxjava简单的示例2时序图.oom

Rxjava简单的示例2时序图.oom

2021-07-13

Rxjava简单的示例1时序图.oom

Rxjava简单的示例1时序图.oom

2021-07-13

图片加载框架时序图.oom

图片加载框架时序图

2021-07-13

ImageLoaderDemo.rar

图片加载框架demo代码

2021-07-13

HttpDemo.rar

网络访问框架---框架中涉及到重试机制和高并发操作

2021-07-08

RxJavaDemo22.rar

手写RxJava基础框架

2021-07-06

RxjavaDemo2.rar

Rxjava基本使用,增加了主线程、子线程相关的处理

2021-06-29

RxJavaDemo.rar

简单的Rxjavademo

2021-06-29

VolleyDemo3--数据库分库实现,及全量升级.rar

网络访问框架,包括下载、断电续传、数据库分库实现,及全量升级

2021-06-23

SortAlgorithm.rar

几种今典的排序算法

2021-06-10

VolleyDemo2--网络下载.rar

有关网络下载的demo

2021-06-03

VolleyDemo1--网络请求.rar

有关网络请求的demo

2021-06-03

HotFixDemo.rar

热修复相关demo示例

2021-06-03

MVVMDemo---listView的使用.rar

MVVM架构中listView的使用

2021-06-01

MVVMDemo--view和model之间的互相更改.rar

view层与model层之间更改,会导致另外一个层的内容发生改变

2021-06-01

MVPDemo--优化版本.rar

MVPDemo--优化版本

2021-06-01

MVPDemo--基础版本.rar

MVPDemo--基础版本

2021-06-01

IntentServiceDemo.rar

IntentService的使用

2021-05-27

PermissionBroadcastDemo.rar

自定义权限在广播中的使用

2021-05-26

PermissionDemo.rar

自定义权限在Activity中的使用

2021-05-26

ParcelableDemo.rar

Android 序列化Parcelable示例demo

2021-05-26

空空如也

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

TA关注的人

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