自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Android的mutate():打破Drawable共享的“独门秘籍”

mutate()是Drawable作用:使当前Drawable变为“可变”状态,并返回一个与该Drawable外观相同但状态独立的实例。如果Drawable已经是可变的,则可能返回自身。✅ 当需要对共享Drawable进行着色、透明度等外观修改时,先调用mutate();✅ 在等复用场景中,对 item 的Drawable进行修改前务必mutate();;❌ 不要认为mutate()能隔离 Bitmap 像素级的修改;❌ 不要在无需独立修改的场景下滥用mutate()。

2026-04-08 15:20:38 327

原创 Android ANR:一篇文章带你彻底理解

ANR(Application Not Responding)是Android系统的一种保护机制,当应用程序在一定时间内无法响应用户输入时,系统会显示一个对话框,提示用户“应用无响应”,并允许用户选择继续等待或强制关闭应用。想象一下:你点击了一个按钮,但应用完全卡住,几秒后弹出一个提示框——这就是ANR。ANR的核心是主线程响应性问题。意识转变:时刻记住主线程只做UI相关操作工具辅助:利用各种性能分析工具提前发现问题代码规范:建立团队编码规范,避免常见陷阱监控体系:建立完善的性能监控和告警系统。

2026-02-11 10:14:27 423

原创 Android Jetpack Compose指南:用声明式UI革新Android开发

Jetpack Compose 是 Android 的现代声明式 UI 工具包,它彻底改变了 Android 应用界面的构建方式。不再使用传统的 XML + View 体系,而是用 Kotlin 代码直接描述 UI。Jetpack Compose 代表了 Android UI 开发的未来方向:✅开发效率更高:更少的代码,更快的迭代✅代码更安全:类型安全,减少运行时错误✅UI 更灵活:动态响应状态变化✅维护更容易:逻辑和 UI 分离清晰✅学习曲线平缓:对 Kotlin 开发者友好。

2026-02-10 16:24:14 434

原创 Android SDK : 一篇文章让你理解

想象一下你要盖一栋房子。你需要图纸、建筑材料、工具和施工指南——这就是 SDK 在 Android 开发中的角色。是 Google 为开发者准备的一整套"建筑工具箱",它包含了创建 Android 应用所需的所有工具、库、文档和示例代码。Android SDK 不是一个静态的工具箱,而是一个不断进化的生态系统。理解核心原理:不仅仅是会使用工具,更要理解它们的工作原理持续学习:Android 生态每半年就有重要更新实践出真知:理论知识需要通过实际项目来巩固参与社区。

2026-02-07 15:53:59 1226

原创 Android开发常用设计模式

设计模式是针对软件设计中常见问题的可重用解决方案。在Android开发中,合理使用设计模式可以提高代码的可维护性、可扩展性和可测试性。设计模式是解决特定问题的经验总结,不是银弹。理解比记忆更重要:理解模式的意图和适用场景灵活应用:根据实际情况调整模式实现关注Android官方推荐:优先使用Android Jetpack组件持续学习:关注新的架构模式和最佳实践通过合理使用设计模式,可以构建出更健壮、可维护、可测试的Android应用。

2026-02-03 18:08:58 720

原创 Android JNI

JNI作为Android开发中连接Java与本地代码的桥梁,虽然增加了开发复杂度,但在性能敏感场景下提供了不可替代的价值。掌握JNI不仅需要理解其API使用,更需要深入理解Java与C++的内存模型、线程模型差异。在实际项目中,建议将JNI代码封装良好,提供简洁的Java接口,并充分测试内存管理和异常处理逻辑。通过本文的介绍,你应该已经对Android JNI有了全面的了解。记住,能力越大责任越大——JNI的强大功能伴随着更高的复杂性和风险,谨慎使用,充分测试,才能发挥其最大价值。

2026-02-02 11:36:49 1054

原创 Android线程池:一张图看懂核心原理

线程池 = 管理线程的池子,避免频繁创建/销毁线程,提升性能。

2026-01-20 11:10:29 78

原创 自动化测试开发算开发吗?

类似于我们Android的数据桥接,我需要把手机桌面开发包的数据封装,拿到我们测试包来使用,这样解释应该比较清楚,因此对技术上就有一定要求了,首先你得会Android开发,不然连逻辑都看不懂,那就根本找不到你所需要的数据了,如果条件允许,甚至需要你自己写接口,因为你测试需要的数据,开发不一定需要,因此还需要你自己写Android代码,因此我认为我现在这个岗位和开发没区别。其实技术上只占一层,要学的是项目宏观思维,体现在项目构建的可持续性,以及代码框架的可持续性等等,更加重要的就是熟练地使用AI做事。

2026-01-16 12:06:05 402

原创 原生Android是否还有出路,转混合开发是否为必然趋势?---00后Android程序员的自白

一开始我满心欢喜,即将步入社会,对所有的新事物和新技术都充满了干劲,但是在我工作了一个月之后,我才发现和我想象中的运维很不一样,我以为的运维是分布式,是K8s,是做自动化部署工具,是成为一名运维保障程序员,但公司领导告诉我,不是的,因为我是实习生,所以我要干的是,在公司的甲方驻场,每天做什么呢,给那些尊敬的客户讲解我们公司的软件如何使用,有问题记录,上报,解决,牵网线,组装电脑。我很认同他说的话,未来的客户端一定是做跨端,原生能够占据一席之地,但仅仅是一席,我热爱原生Android,但是我不得不承认。

2024-04-07 19:09:24 735 5

原创 Android防抖处理(Kotlin)

简单来说,就是我们在使用app的时候,经常会因为网络延迟等原因出现双击或多次点击某个按钮的情况,而防抖处理,就是避免在短时间内多次触发点击事件。每次点击事件会检查时间间隔,只有当时间间隔大于等于设定的延迟时间时才会触发实际的点击事件处理逻辑。这种防抖处理常用于用户界面中,以确保点击行为不被频繁触发,提高用户体验。新人报到,请各位大佬多多关照。

2024-03-11 15:33:37 1768

原创 Android实现PopupWindow浮窗

Android实现PopupWindow浮窗

2024-03-08 17:04:55 1334 1

原创 Android实现在文本尾部加图标

有感而发,希望各位大佬多批评指点,今天就要离职了,翻出了一年前刚入职写的代码,就当是一段回忆吧。新人报道,请多关照,加油,朋友们。

2024-03-07 09:56:30 660 3

原创 Android实现带节点的拖动条

Android实现带节点的拖动条

2024-01-18 10:59:17 1011 1

空空如也

空空如也

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

TA关注的人

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