- 博客(50)
- 收藏
- 关注
原创 【Android】RecyclerView 刷新方式全解析:从 notifyDataSetChanged 到 DiffUtil
本文简单介绍了 RecyclerView 所有刷新方式,从 notifyDataSetChanged 到 DiffUtil
2025-12-03 21:47:54
882
原创 【Android】MMKV 的使用
MMKV是腾讯开源的高性能key-value存储组件,基于mmap内存映射和protobuf序列化实现,在微信中经过长期验证。相比SharedPreferences,MMKV具有读写速度快10-100倍、支持多进程、数据更安全等优势。使用简单,只需添加依赖并初始化即可,提供迁移工具可平滑替代SharedPreferences。支持存储基本数据类型、字符串和Parcelable对象,采用增量更新机制优化性能。
2025-12-01 19:22:22
1079
原创 【设计模式】设计模式六大原则
设计模式遵循六大核心原则: 单一职责原则(SRP):每个类应只有一个职责,避免功能耦合 开闭原则(OCP):对扩展开放,对修改关闭,通过抽象和多态实现 里氏替换原则(LSP):子类必须能替换父类而不影响程序正确性 迪米特法则(LoD):对象间应保持最少知识,降低耦合度 接口隔离原则(ISP):客户端不应依赖不需要的接口 依赖倒置原则(DIP):高层模块不应依赖低层模块,都应依赖抽象 这些原则共同指导软件设计,提高代码的可维护性、扩展性和复用性。
2025-11-23 20:30:29
901
原创 【Android】布局优化:include、merge、ViewStub的使用及注意事项
Android布局优化中,include、merge和ViewStub是三种重要标签。include用于布局重用,可通过id属性区分多个实例;merge配合include使用可减少布局层级,特别适合替换同类型的父容器;ViewStub实现按需加载,提升初始化效率。使用时需注意:include标签需显式指定宽高才能覆盖原属性,merge适用于同类型父容器优化,合理使用这些标签能显著提升布局渲染性能。
2025-10-19 17:31:56
2833
原创 【Android】Android 的三种动画(帧动画、View 动画、属性动画)
Android提供三种动画类型:帧动画、View动画(补间动画)和属性动画。帧动画通过连续播放图片序列实现,简单但易导致内存溢出。View动画包含四种基本变换(透明度、缩放、旋转、平移),通过XML定义视图的起始和结束状态,系统自动补间中间帧。属性动画则通过动态修改对象属性实现更灵活的动画效果。每种动画类型适用于不同场景,开发者可根据需求选择合适的实现方式。
2025-10-06 15:30:00
1153
原创 【Android】View 的滑动
Android中实现View滑动的6种方法:1)通过layout()方法修改View的坐标;2)使用offsetLeftAndRight()和offsetTopAndBottom()方法;3)改变LayoutParams参数;4)使用View动画(仅改变绘制位置)或属性动画(真正改变位置);5)调用scrollTo/scrollBy方法移动View内容;6)结合Scroller和computeScroll方法实现平滑滑动效果。每种方法各有特点,其中属性动画和Scroller能提供更好的用户体验。
2025-09-21 14:22:31
1009
原创 【Android】CoordinatorLayout 的基本使用
本文介绍了 Android CoordinatorLayout 的基本使用方法,重点讲解了如何通过与 FloatingActionButton、AppBarLayout 及 CollapsingToolbarLayout 的协同配合,轻松实现应用栏折叠、悬浮按钮响应式位移等 Material Design 推荐的交互效果。
2025-09-10 17:14:31
1122
原创 【Android】使用 Intent 传递对象的两种序列化方式
简单介绍 Android 中通过Intent传递自定义对象的两种方式:Serializable和Parcelable。
2025-08-02 17:37:59
868
原创 【Android】用 ViewPager2 + Fragment + TabLayout 实现标签页切换
本文简单介绍了使用ViewPager2结合Fragment和TabLayout实现Android标签页切换的方法
2025-07-23 21:34:58
2219
原创 【Android】初识 Activity
本文简单介绍了 Activity 是什么,怎么创建 Activity,以及使用 Intent 在 Activity 之间跳转和传递数据
2025-06-22 16:08:02
979
原创 【Android】第一行Android代码启程
本文简单介绍了 Android 开发的基础知识,包括系统架构、项目结构以及 Android 日志的使用。
2025-06-20 13:34:29
1012
原创 【Java】反射
Java反射机制允许程序在运行时动态获取类信息并操作对象。核心是通过Class类获取构造器(Constructor)、方法(Method)和字段(Field),可突破访问限制(setAccessible)。优点在于运行时灵活性,能实现动态加载和调用;缺点是性能开销大且可能破坏封装性。反射主要应用于框架开发,需谨慎使用。
2025-06-15 16:22:03
785
原创 Java 中 == 与 equals() 详解
在 Java 中,== 和 equals() 是用于比较两个变量是否相等的两种方式,但它们的行为和适用场景有所不同。== 用于比较基本数据类型的值或引用类型的内存地址,而 equals() 用于比较对象的内容是否逻辑相等,通常需要重写该方法。字符串、包装类和自定义对象的比较中,== 和 equals() 的结果可能不同,尤其是在处理字符串常量池、自动装箱缓存和数组时。为了避免常见的错误,建议在比较对象时优先使用 equals(),并在自定义类中正确重写 equals() 和 hashCode() 方法。此外
2025-05-18 17:23:13
1303
原创 Java多态详解
Java多态是面向对象编程的核心特性之一,允许同一操作作用于不同对象时产生不同行为。多态分为编译时多态(如方法重载)和运行时多态(如方法重写)。运行时多态通过继承、方法重写和向上转型实现,依赖于动态绑定机制,即JVM根据对象的实际类型决定调用哪个方法。多态的使用场景包括方法参数多态性和集合中的多态,能够提高代码的扩展性和降低耦合度。然而,多态在方法调用、静态方法和成员变量访问方面存在一定限制。多态的好处包括代码扩展性、降低耦合度、统一化处理对象和支持设计模式。多态的访问规则可以总结为“成员变量,静态方法看左
2025-05-11 16:09:43
791
原创 归并排序与快速排序的简单实现(C语言)
稳链外,选归并;快省效,用快排」稳(稳定性) / 链(链表) / 外(外部数据) → 归并排序快(速度) / 省(内存) / 效(效率) → 快速排序。
2025-03-30 14:20:09
631
原创 图的两种遍历算法:广度优先搜索(BFS)与深度优先搜索(DFS)
图由顶点(Vertex/Node)和边(Edge)无向图:边无方向(如朋友关系)。有向图:边有方向(如网页超链接)。带权图:边有权重(如地图距离)。BFS 适用场景:最短路径、层级遍历、最小步数问题。DFS 适用场景:全路径搜索、连通性检测、回溯问题。关键选择依据:是否需要最短路径,或对空间复杂度有特殊要求。
2025-03-23 13:05:19
2144
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1