TechBlog
首页
分类
标签
搜索
关于
← 返回分类列表
加载中...
分类
共
372
篇文章
Java-和-Kotlin-实现-23-种设计模式从理论到实践
目的: 提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。Java 实现@Override@Override@Override@OverrideKotlin 实现。
时间:03/13/2025
Android-IdleHandler-原理解析与应用场景
IdleHandler 是 Android MessageQueue 机制中的一个接口,允许在主线程空闲时执行任务。本文详细解析 IdleHandler 的工作原理,包括 MessageQueue 结构、触发时机及其使用方法。同时,我们探讨了 IdleHandler 的应用场景,如延迟初始化、资源回收和数据预加载等,并分析了其优缺点。合理使用 IdleHandler 可以优化应用性能,提高用户体验。本文将帮助开发者深入理解 IdleHandler 并在实际开发中灵活运用。
时间:03/13/2025
Android-Media3-ExoPlayer-开发全攻略从基础集成到高级功能实战
本文系统讲解如何利用 Android Media3 ExoPlayer 构建高性能流媒体播放器。作为 Google 新一代媒体框架的核心组件,ExoPlayer 凭借对 HLS/DASH 等协议的原生支持、自适应码率优化及模块化架构,成为复杂媒体场景的首选方案。文章从依赖配置入手,详细演示播放器初始化、视图绑定与基础播放控制逻辑,并提供 Kotlin 代码实例。
时间:03/12/2025
Flutter-小技巧之通过-MediaQuery-优化-App-性能
涉及 20 来参数,从各种边界到字体大小再到界面比例,可以说在 UI 适配时是经常使用的对象,特别是折叠屏场景更是必不可少,所以合理使用。好了,今天的小技巧就到这里,温故知新,基本上今天的内容都是过去的片段,把它们放在一起之后,你应该就知道如何使用。,如果这样也导致页面更新,好像也不是很合理,所以后来(3.10) Flutter 更新了。更新时只触发绑定参数的能力,内部主要还是在 context 登记时,通过。的更新, 所以其内部像 body 等参数,也会通过。内去使用 context 就好很多?
时间:03/12/2025
Android-dumpsys-SufaceFlinger
Android dumpsys SufaceFlinger
时间:03/12/2025
Android-StrictMode-使用与原理深度解析
StrictMode 是 Android 开发中不可或缺的性能检测工具,其核心原理是通过 动态插桩 和 Looper 监控 实现主线程耗时操作的检测。合理配置策略可显著提升应用流畅性,但需注意生产环境的禁用和误报处理。
时间:03/11/2025
Android应用性能优化全解析常见问题与解决方案
摘要:本文系统剖析Android开发中六大核心性能问题——UI卡顿、内存泄漏、ANR、列表滑动卡顿、冷启动耗时及内存抖动,深入分析其典型场景与根本原因,并提供针对性的优化策略与代码实践。从异步处理、布局层级优化、内存管理到工具链(如LeakCanary、Android Profiler)的使用,全面覆盖性能调优的关键技术。无论是规避主线程阻塞、减少过度绘制,还是通过分页加载与延迟初始化提升响应速度,均以实际场景为锚点,助力开发者打造流畅、稳定的高质量应用。
时间:03/11/2025
python-uiautomator2手机上的ATX应用界面报错问题处理无法提供服务,非am-instrument启动
手机上的ATX应用界面报错问题处理:无法提供服务,非am instrument启动
时间:03/11/2025
android实现圆角效果
其中,shape元素来定义背景的形状。solid元素设置了背景的颜色,corners 元素设置了圆角的半径。stroke元素设置了边框。
时间:03/11/2025
Android-Compose-MutableInteractionSource介绍
在 Android 开发中,Compose 是 Google 推出的现代化 UI 工具包,它让开发者能够更简洁高效地构建应用界面。而 `MutableInteractionSource` 是 Compose 中一个重要的组件,它可以帮助你处理用户与界面交互时的状态变化,尤其在处理交互反馈(比如点击、按下、聚焦等)时非常有用。接下来,我们将详细解析 `MutableInteractionSource` 的作用及如何在实际开发中使用它。
时间:03/11/2025
Android-Compose-remember-与-ViewModel-保存数据的优缺点对比
在开发 Android 应用时,管理 UI 状态是一个不可避免的话题。Jetpack Compose 提供了两种常见的方式来保存和管理数据:`remember` 和 `ViewModel`。它们各有优缺点,适用于不同的场景。 本文将详细对比这两者在保存数据时的优缺点,帮助你在实际开发中做出更合适的选择。
时间:03/11/2025
Android-Compose-remember-详解
在 Android Jetpack Compose 中,`remember` 是一个非常重要的概念。它帮助我们优化 UI 组件的重组(Recomposition)性能。简单来说,`remember` 可以缓存某些数据或对象,避免每次重组时重新计算或创建这些对象,从而提高性能并减少不必要的计算。
时间:03/11/2025
Android-d-与-1d-格式化的区别
在 Android 开发中,我们经常需要对字符串进行格式化处理,比如动态填充数字、日期、字符等。 其中,`%d` 和 `1$%d` 都是格式化占位符,但它们在使用上有一些不同。 本文将详细解析这两者的区别,并结合 Kotlin 代码示例帮助你理解。
时间:03/11/2025
Android12-应用更新开机动画
项目selinux是打开的,会涉及到权限问题,所以实在具有系统签名的应用中实现。将动画资源包放到目录在中添加路径。
时间:03/11/2025
移动Android和IOS自动化中常见问题
目前本人的操作是根据button属性的XPath路径点击,但是这样做是会出现报错并结束程序执行,因此使用try catch使程序继续执行,再根据得到的最新的显示页面对相应元素进行tap点击。在有的页面,会出现h5被强转为Native页面,这时的页面则不支持webview操作,由于有的元素被隐藏,通过viewlist就很难点击到相应的元素,所以只能通过tap点击。在app编写自动化测试用例时,通常会出现只是简单的点点点过程,然而却忽略了在实际的自动化实现过程中,软件是对app元素的判断来执行测试脚本。
时间:03/11/2025
Compose-实践与探索二-状态订阅与自动更新1
Compose 官方称其是无状态的(Stateless),这个状态是指组件属性。比如说 TextView 内保存的文字内容就是一个状态,你可以通过 getText() 与 setText() 获取与设置文字。但在 Compose 中,组件没有状态,也就是其内部不会保存这些数据,在将数据设置到 UI 上之后,它们就被“扔掉了”。但需要注意的是,无状态作为 Compose 的一个特点,它是允许组件无状态,而不是说组件绝对没有状态。
时间:03/10/2025
Compose-实践与探索一-关键知识与概念详解
本节主要概括性地介绍 Jetpack Compose 中的关键概念。
时间:03/10/2025
Android操作CAN总线基于linux-canutils库,发送接收设置过滤器
can_aar
时间:03/10/2025
再聊-Flutter-Riverpod-,注解模式下的-Riverpod-有什么特别之处,还有发展方向
在此之前,我们需要先回忆一下,riverpod 最明显的特点是将转换成WidgetRef抽象,从而让状态管理不直接依赖实现,共享实例的顶层存在,提供一个全局共享:用于管理和保存各种 “Provider” 的 State ,并且支持 override 一些特殊 “Provider” 的行为,还有常见的 read\watch\refeshRef:提供 riverpod 内的 “Provider” 交互接口,是 riverpod 内 ProviderElementBase 的抽象。
时间:03/09/2025
KotlinKotlin基础笔记
定义方式fun 函数名(参数1: 类型, 参数2: 类型, …): 返回类型 {// 函数体return 返回值普通字符串:使用双引号括起来,可以包含转义字符,如换行符\n。// Hello// World原始字符串:使用三重引号"""括起来,支持多行且不会转义特殊字符。第1行第2行// 输出:// 第1行// 第2行Kotlin 的类可以有一个主构造函数和一个或多个次构造函数。如果主构造函数没有任何注解或可见性修饰符,可以省略。
时间:03/09/2025
AndroidsetText调用导致的悬浮窗抖动问题
在Android13中,有这么一个bug,写一个可以拖到的悬浮窗,这个悬浮窗里有TextView,在拖到某个位置后,再调用TextView的setText方法,会发现出现了一个窗口动画,悬浮窗跳到了起始位置,从开始的位置又滑动到当前位置,看起来就是出现了一个跳动。在开发者选项里,关闭掉 窗口动画缩放,就没有这个跳动问题了,所以这应该是窗口动画的bug,在调用setText的过程中,view的测量,布局中触发了窗口动画,并且使用了最初的坐标,大致是这样的思路。
时间:03/09/2025
2025深夜随笔简单认识一下Android-Studio
Android Studio(简称AS)是谷歌官方推出的,集代码编写、调试、性能分析、模拟器管理、APK打包于一体。
时间:03/09/2025
preloaded-classes裁剪
frameworks\base\config\preloaded-classes 默认位置,如果改了不生效,可能有其它模块的mk文件指定了preloaded-classes覆盖了framework模块,例如。系统预加载了哪些class类?preloaded-classes预加载源代码:ZygoteInit.java。
时间:03/08/2025
OkHttp工作原理-拦截器链深度解析
摘要:OKHttp 是一款高效的 HTTP 客户端库,由 Square 公司开发,支持 Android 和 Java 应用。它简化了 HTTP 请求处理,支持同步/异步请求、连接池、缓存、拦截器等特性。
时间:03/08/2025
上一页
1
2
3
4
5
...
16
下一页
第 2 / 16 页