自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

菜鸟博客

不积跬步无以至千里

  • 博客(555)
  • 资源 (25)
  • 收藏
  • 关注

原创 Flutter之Widget构建过程详解

知识储备:Flutter之BuilderContext和Widget关系浅析Fultter之Element和Widget对应关系解析今天来详细谈谈Flutter的Element,了解了Element,Flutter的一些概念和框架就是“程序员头上的虱子,一眼看透了”(这他娘的什么比喻),话不多说,赶紧上车!在我们使用Flutter开发的时候常用的就是各种Widget,那么Element是什...

2019-11-09 22:27:45 3176 11

原创 Flutter之GlobalKey详解

博主打算通过登录功能来总结一下Flutter的相关知识点。为什么选择登陆功能呢?因为登录功能逻辑简单,很好抽象,功能也很普遍,这也是博主以此为突破口写android MVC和MVP探讨的原因。本系列应该不长,初步估计也就三篇左右,通过层层递进,慢慢地会勾勒出一个完整的登陆功能的demo,demo的源码点此可得。俗话说站在巨人的肩膀上成长的更快,当然这个俗话是我瞎篇水字数的,本系列博文的重要参考资料...

2019-11-02 14:00:40 26089 18

原创 Flutter之Widget 更新机制原理浅析

本篇博客将要分析Widget的更新机制,在阅读这篇文章之前建议读者阅读Fultter之Element和Widget对应关系解析, 从Element和Widget对应关系这篇博文中可以知道有如下的表关系:...

2019-03-25 14:36:05 3643 2

原创 从源码角度分析android事件分发处理机制

正式开始之前的准备工作: 之前也写过一篇《android事件拦截处理机制详解》的博客,通过博客的名字也可以知道那篇博客只是分析了android控件View对事件的拦截和处理,简单的总结如下: 1)父View优先拦截当前事件,拦截不成功就让子View对当前事件进行拦截。 2)如果拦截成功的话,就会沿着子view到父View的路...

2015-12-08 12:18:12 6550 1

原创 android事件拦截处理机制详解

android 事件拦截处理机制详解

2014-11-13 19:43:33 47463 5

原创 算法:有效的括号

给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串 s ,判断字符串是否有效。我用了Stack数据结构完成题解,思路很简单就是。每个右括号都有一个对应的相同类型的左括号。循环替换,直到字符串长度是0则满足要求。左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。看了下别人的算法很巧妙,用。

2026-07-03 08:51:40 301

原创 算法:大数加1

给定一个表示 大整数 的整数数组 digits,其中 digits[i] 是整数的第 i 位数字。这些数字按从左到右,从最高位到最低位排列。这个大整数不包含任何前导 0。将大整数加 1,并返回结果的数字数组。

2026-07-01 14:18:12 333

原创 算法:删除有序数组的重复项

想象一下你在搬家,需要整理书架上的书。书架上的书已经按作者姓氏的字母顺序排列好了,但有些作者有多本书(重复项)。,返回删除后数组的新长度。删除重复出现的元素,使每个元素。这是我自己的写法,也通过了。

2026-06-29 10:08:34 176

原创 算法:回文数

回文数

2026-06-26 10:12:28 405

原创 算法题:三数之和题目解析

三数之和

2026-06-24 09:54:21 189

原创 SharedPreferences 的工作原理与避坑指南

Android SP工作原理详解

2026-06-15 14:47:26 23

原创 力扣算法题:盛最多的水

解释:图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。后面根据提示,改用双指针法,它能将时间复杂度降低到 O(N)。输入:[1,8,6,2,5,4,8,3,7]

2026-06-12 09:47:31 175

原创 Hash算法入门Hash冲突解决方案

Hash冲突解决方案

2026-06-11 09:50:07 261

原创 HashMap工作原理解析

HashMap的工作原理

2026-06-10 09:40:07 343

原创 Android UCrop裁剪库的简单使用—— 1寸/2寸/3寸照片生成器

UCrop裁剪库的简单使用—— 1寸/2寸/3寸照片生成器

2026-04-28 10:33:45 137

原创 Android LinearLayout测量原理详解

而理解 layout_weight 的关键,在于认清它分配的是剩余空间而非整体空间,只有掌握这一底层逻辑,才能真正做到权重布局可控、可预期、不踩坑。既然最终大小完全由分配决定,那提前测量子 View 就没有任何意义,所以系统直接跳过,这是 Android 官方做的重要性能优化。的测量过程,只算它的上下边距。、权重、分割线、基线对齐等多种场景,在保证布局行为稳定可预期的前提下,尽可能优化测量次数,提升布局性能。,系统拿到这个高度,才能做到心里有数,才能准确计算剩余空间,保证布局高度稳定、不抖动、不变形,。

2026-04-24 09:33:57 93

原创 Android FrameLayout从onMeasure到onLayout源码简析

视图测量的核心方法,作用是:根据childView 的大小、自身的测量规则、内边距 /外边距,计算出自己最终的宽高,再重新测量设置了。默认左上角叠加,可通过 gravity 设置居中 / 靠右 / 底部等对齐方式。(测量 → 布局 → 绘制)。目的是确定childView 在父容器中的具体坐标位置,完成摆放。,作用:向上传递给父布局,让父布局知道子空间不够了,用于处理滚动、适配等逻辑。,是所有 View 测量宽高的最终 “决策方法”。方法得到最大宽和高的时候,在设置。结合上面的源码分析,我们在使用。

2026-04-22 08:33:13 64

原创 Android getSuggestedMinimumWidth和getSuggestedMinimumHeight简析

确保View最小尺寸不小于设定值,测量时参考建议最小宽高。是 Android View 中用于获取。自定义一个简单的圆形View,通过。方法设置,未设置时为 0)。共同决定,取两者中的。实现中,这两个方法是。,确保背景完整显示。

2026-04-17 13:55:59 73

原创 Android ScrollView源码简析

结合前文所有疑问和源码解析,我们可以用一句话总结ScrollViewScrollView 自身拒绝 UNSPECIFIED 模式,确保自身有明确高度;同时给childView设置 UNSPECIFIED 模式,让childView测量出真实内容高度;onLayout 完整摆放childView,scrollTo 移动画布实现滚动,最终呈现“超出部分可滚动”的效果。其中,模式的核心作用,是“解除对childView高度的限制”,让childView能突破ScrollView。

2026-04-16 10:47:05 74

原创 面试知识储备系列4:Android View的测量规则详解

所有布局(LinearLayout/RelativeLayout/FrameLayout)都靠它计算子View大小。view的测量过程中父控件会给子控件一个 “尺寸限制”,子控件根据限制计算出自己的最终宽高。不管你多大,你想多大就多大,详见后续ScrollView的工作原理!测量模式(Mode):父控件对子控件的限制规则。测量大小(Size):父控件允许的最大尺寸。打包成一个 int 值,返回给子View。子 match / wrap →。子 match / wrap →。大小已经定死了,必须遵守!

2026-04-15 10:23:56 67

原创 面试知识储备系列3:Android AMS 和 ATMS简介

一、AMS/ATMS简介1. 核心定义二、AMS 核心作用(详细拆解)1. 进程管理与资源调度(AMS 核心)2. 四大组件生命周期管控3. 任务栈(Task)与多窗口(ATMS)4. 系统稳定性与监控5. 权限与安全6. 系统全局信息与接口三、AMS/ATMS 核心工作流程(以启动 Activity 为例)四、总结五、API 31 中 AMS/ATMS 核心 API 与常用方法清单(一)AMS 核心 API(ActivityManagerService 相关)

2026-04-14 14:07:21 186

原创 面试知识储备系列2:Android系统SystemServer 简介

SystemServer = 系统服务容器 + 系统管家它启动并运行 AMS、WMS、PMS 等所有系统服务负责进程、窗口、电源、网络、安装、通知等一切系统能力API 31 上结构更清晰,AMS/ATMS 拆分更彻底,后台管控更严格Zygote 是 Android 系统的孵化器,负责创建并初始化 Java 运行时环境;SystemServer 是系统服务核心进程,由 Zygote 孵化并承载所有 Framework 服务。二者通过父子进程关系与 COW 机制实现高效、安全、统一。

2026-04-13 15:20:30 134

原创 面试知识储备系列1:Zygote 进程简介

Zygote 是Android 第一个 Java 进程所有应用进程都由它 fork 而来负责预加载系统资源,加速 App 启动没有 Zygote,就没有任何 App 能运行它不负责创建 Activity,只负责创造应用进程Activity 是应用进程里的 ActivityThread 创建的Zygote 是 Android 的“进程孵化器”,专门负责生孩子(应用进程),不负责带孩子(不管理Activity)。

2026-04-10 13:57:43 169

原创 Android APP 中监听前后台状态

Android APP 监听前后台状态

2026-01-23 08:50:26 279

原创 Flutter CustomPaint绘制K线蜡烛图走势图

Flutter CumstomPaint绘制K线蜡烛图,可以根据手势来滚动

2026-01-14 13:28:16 173

原创 Android 自定义View 绘制K线蜡烛图走势图

Android 自定义View绘制K线蜡烛图走势图

2025-12-25 10:02:15 210

原创 Java 获取文件Md5的方法

核心特性(实用关键)

2025-11-28 10:02:03 439

原创 WorkManager入门指南

WorkManager入门

2025-11-05 10:12:10 131

原创 compileSdkVersion、minSdkVersion 和 targetSdkVersion详解

影响编译能力,越高越好(获取新 API 和编译检查)。:影响用户覆盖范围,需平衡兼容性和功能需求。:影响运行时行为,需与主流系统版本同步以适配新特性。(用最新 SDK 编译)、(覆盖 Android 5.0 + 设备)、(针对 Android 13 优化)。

2025-10-31 10:12:57 236

原创 Android 中不同存储路径及 FileProvider 配置与使用

path的核心作用是在外部存储私有根目录的基础上,进一步限定别名可访问的子路径范围,既实现了路径映射的精准性,又通过限制访问范围提升了文件分享的安全性。开发中需根据实际文件存储的子目录设置path,确保仅暴露必要的文件路径。首先需在中定义的name和对应的path,这是代码使用name的基础。示例配置(关键是-- 配置 external-files-path:name:别名(自定义,如 my_external_downloads)

2025-10-30 08:59:19 386

原创 AES/CBC/PKCS5Padding的CBC是什么意思,除了CBC还有哪些?

CBC是经典模式,需 IV 且加密依赖顺序,安全性中等,仍有一定应用(如早期 HTTPS、文件加密)。现代推荐优先使用GCM或CTR,它们在安全性、效率和功能(如认证)上更有优势。避免使用ECB,因其安全性缺陷明显。

2025-10-29 09:52:33 662

原创 PKCS5Padding、OAEPPadding的区别

AES和RSA

2025-10-28 10:36:48 404

原创 android APP实现指纹免密登录的实现思路

现如今,如多APP都实现了指纹登录的功能,指纹登录逻辑很简单,在豆包或者其他AI工具中输入“Android APP实现指纹登录”就可以得到详细的代码,但是代码只是初级实现,其实指纹登录还需要跟APP自身系统进行打通,怎么做呢?注意第五步有个细节,就是将PassWord字符串截取成两部分passWord1和passWord2,每一部分都需要加密然后Base64,然后将passWord1保存到服务器,将passWord2保存到本地。5、然后根据客户号和步骤4获取到的密码,调用APP的登录接口完成登录即可。

2025-10-17 14:59:51 300

原创 Android RecyclerView 横向滚动和竖直滚动冲突解决

RecyclerView水平和竖直滑动冲突解决

2025-09-12 09:28:19 162

原创 Android Activity webView页面视频悬浮小窗播放效果及技术难点

android webview 悬浮框播放视频

2025-08-06 10:33:11 501

原创 unable to make field private final java.io.File.path accessible: module java.base does not “opens

【代码】unable to make field private final java.io.File.path accessible: module java.base does not “opens。

2025-07-29 14:26:02 216

原创 Android Appium测试时,popupwindow控件元素无法定位问题

我看有的文章说为PopupWindow的contentView设置 setFocusable(true),试了下,没效果,只有调用。的的元素,解决方法很简单,就是将。

2025-04-22 08:54:34 195

原创 Android Studio右上角Gradle 的Task展示不全

Gradle task显示不全解决方案

2025-03-07 11:10:38 1364

原创 Android TextView 使用.9图片文字不展示

【代码】Android TextView 使用.9图片文字不展示。

2025-02-24 08:47:56 298

原创 RecyclerView item居中设置无效问题

RecyclerView item居中无效

2025-02-20 09:50:42 203

比较好的Java学习网站

里面是一些学习Java的个人认为比较好的网站,可以利用一下

2010-06-28

Android ASM 代码自动化埋点

结合ASM Bytecode Viewer插件,使用ASM技术对Android 的点击事件onClick方法进行插桩。剖析Android 自动化埋点的具体实现原理。在onClick方法执行之前或者之后自动执行指定的代码,可以用来收集用户的点击操作。用来自动化埋点。

2022-04-23

横向的listView version2

在版本1.0的基础上实现了点击滚动的功能,很简单的代码,更过功能在3.0实现

2015-05-20

Scroller简单应用

简单的用Scroller+layout来实现ImageView的平缓移动

2016-02-22

android SDK热修复

android jar热更新机制

2016-11-07

控制台简易五子棋java代码

这是java实现的五子棋代码,对于初学者来说很有用

2011-04-28

自定义导航栏(2)

对之前的版本做了简单修改,丰富了ViewFlipper做导航页面的效果

2016-01-21

Gson解析流程图

Gson解析流程图,详细的描述了Gson反射机制的解析流程

2015-10-22

坦克大战小游戏

自己做的坦克大战,虽然设计不是怎么合理,还算凑合

2011-11-28

自定义跑马灯次数

实现了TextView控制跑马灯的次数的效果

2016-02-18

大风车系列demo

android 自定义View模拟风车旋转的小demo

2015-05-04

桌面弹球游戏代码以及个人总结

这是我自己写的总结,不是很好,但还凑合,希望对大家有帮助

2011-07-12

RxJava简单应用

RxJava的简单应用,显示应用列表以及下载文件并更新进度条

2016-06-29

线性贝塞尔曲线的说明

贝塞尔曲线的简单实现算法

2017-02-26

ViewDragHelperDemo

用ViewDragHelper简单的写的测试demo,说明了 clampViewPositionVertical等callback方法的应用

2016-03-04

ViewAnimator简单实现PPT

ViewAimator简单实现ppt页面切换效果

2015-12-15

自定义横向listView4.0

解决了版本3.0的遗留的问题,并对解决方法尽可能进行了详尽的描述

2015-06-04

模仿QQ侧滑删除

简单的应用了ViewDragHelper实现了Qq聊天工具的侧滑删除布局

2016-03-09

水平ListView小demo

简单的实现了水平的lsitView,初学者可以看看,大神们可以提点建议

2015-05-17

自定义横向listView3.0

可左右滚动的横向listView,listView随着手指的移动而移动

2015-06-02

自定义ViewFlipper

对ViewFlipper功能做了扩展,响应左右滑动事件进行翻页

2016-01-20

自定义简单GridView

主要是通过这个小小的demo来体会一下view的测量过程

2016-04-03

QQ侧滑简单实现

2016-03-08

ViewFliper简单实现PPT

用ViewAnimator简单实现了类似ppt页面切换的效果,很简单的代码

2015-12-15

控制跑马灯次数的TextView

可控制跑马灯次数的自定义TextView

2016-02-18

空空如也

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

TA关注的人

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