[ANR] Input ANR是怎么产生的 最近在做ANR优化,发现线上非常多的ANR(一半以上)原因都是 Input dispatching timed out。对于Activity或Service生命周期的ANR产生原理,我想大家应该都比较了解了,就是在AMS里埋炸弹、拆炸弹那一套机制,那Input Dispatching time outANR是怎么产生的呢?这篇文章带大家一起学习一下。 Android输入系统 Input Dispa 移动开发 2025年05月06日 167 点赞 0 评论 15795 浏览
Android 车载应用开发与分析(12) - SystemUI (一) 1.前言 Android 车载应用开发与分析是一个系列性的文章,这个是第12篇,该系列文章旨在分析原生车载Android系统中核心应用的实现方式,帮助初次从事车载应用开发的同学,更好地理解车载应用开发的方式,积累android系统应用的开发经验。 注意:本文的源码分析部分非常的枯燥,最好还是下载android源码然后对着看,逐步理顺逻辑。 本文中使用的源码基于android-11.0.0_r48 移动开发 2025年09月16日 111 点赞 0 评论 15825 浏览
确定 Flutter SDK 及其关联的 Gradle 版本与适配的 JDK 版本 最近在编写 Flutter 项目,发现不同的 Flutter SDK 版本有着不一样的 Gradle 版本,然后不同的 Gradle 版本需要不同的 JDK 版本。只有当三者都一致匹配时,才能正常的完成编译首先,我们可以确定 Flutter SDK 对应的 Gradle 版本。我们每个下载的 Flutter 的 SDK 中都有这样一个示例工程 移动开发 2025年05月03日 156 点赞 0 评论 15845 浏览
Flutter 性能优化 Flutter 性能优化是一个系统性的工程,涉及多个层面。一、性能分析工具(Profiling Tools)在开始优化前,必须使用工具定位瓶颈。切忌盲目优化。1. DevTools 性能视图DevTools 性能视图 (Performance View) 作用:Flutter 官方最强大的性能分析工具, 移动开发 2025年11月29日 114 点赞 0 评论 15872 浏览
Google 公布的 Jetpack Compose 1.2 Beta 有哪些亮点更新? Jetpack Compose 1.0 发布已经快一年了,在此期间我们看到社区是它的热情,例如欣赏 Kotlin 语法的简洁性、使 UI 开发变得更加便捷和更轻松的声明式方法。 社区中的 Compose 我们已经看到许多公司开始大规模使用 Compose,例如 Compose 于 Play Store 团队密切合作,他们在很早的时候就开始尝试 Compose ,并了解到它不仅更有趣,而且对他们的开 移动开发 2025年06月09日 104 点赞 0 评论 15890 浏览
Flutter for OpenHarmony:Flutter 三方库 flutter_staggered_animations 为你的列表视图开启极其丝滑的交错式加载艺术(UI 动效专家) 欢迎加入开源鸿蒙跨平台社区:# 前言列表是 App 中最常见的展示形式,但静态的、瞬间跳出的列表往往显得生硬。优秀的 UI 设计通常会采用“交错式”(Staggered)动画,让元素一个接一个优雅地划入视野。flutter_staggered_animations 正是为此而生——它通过极简的 API 侵入,让你的 移动开发 2026年03月16日 139 点赞 0 评论 15892 浏览
Android graphics(一) 框架 一、概要 android graphic图形显示系统,android系统最核心功能之一。本文以分析graphic整体框架为主。最终以知道图形显示系统如何工作为目的。偏向于介绍基础和概念 image.png 谷歌这张图中有四个重要角色:要显示的页面、buffer queue、surfacefinger、hwcomposer 要显示的页面 安卓显示的一个页面一般包含:statusbar、a 移动开发 2025年05月11日 176 点赞 0 评论 15902 浏览
Android应用开发——从零开始写小程序 实验一 安装我们的开发环境 一 开发工具 我们开发用的是谷歌出品的Android Studio,它集成了IEDA了功能,学习过后端开发的小伙伴肯定都熟悉IDEA,当然VsCode也是不错的选择 这里我放一个Android Studio的下载链接 安卓工具下载 二 环境的搭建(注:环境配置有关部分是看班主任的给的文档直接贴上来的) (1)JDK的版本检查 Windows+R打开运行窗口,输入cmd, 移动开发 2025年08月13日 92 点赞 0 评论 15910 浏览
设计模式-策略模式 下面有两个源代码,但是输出是一样的。第一个源代码使用 if 语句来选择逻辑。第二个源代码使用策略设计模式(重构结果)。 我们先讨论第一个源代码。在比萨课上,烹饪比萨有四个步骤。 收集材料 2.准备面团 设置 Variety,选择披萨口味(在本例中,我们有三个选项:capricciosa、Hawaiian 和 margheerita)。 4.加热和享受 在第一个源代码中,Set Variet 移动开发 2025年10月15日 169 点赞 0 评论 15922 浏览
flutter:如何实现局部导航管理? 引言 今天,小编给大家分享如何在 flutter 中实现 ‘局部导航’。开始之前我们先来统一一下关于 局部导航 的概念。 局部导航是什么? 我们在 flutter 中使用 navigator 来管理 app 的页面堆栈,主要包括 push、pop 这两种操作。而当我们UI设计划分得更细致时,可能遇到需要在某个独立页面里,单独维护一套子级的堆栈管理。这就叫 局部导航管理。 局部控件内单独维护局部范围 移动开发 2025年04月30日 37 点赞 0 评论 15923 浏览