android

巫山老妖1 小时前
android·android jetpack
Android 应用架构演进:MVC / MVP / MVVM / MVI (2026)Android 应用架构大致经历了四个阶段(年份为大致区间,用于说明趋势,不是严格的起止点):Model-View-Controller
木头左5 小时前
android·架构设计·系统设计·后端开发·数据库设计
【架构设计】教育类 App 服务端化改造:AI 上移、题库分层与个人题库归属一个纯本地的 AI 刷题 App 要上架,最硬的阻塞不是功能,而是「模型密钥打在 APK 里」和「用户换手机题库全丢」。这篇给出完整改造方案:AI 调用上移、公共题库与个人题库的分层存储、同步协议设计,以及一个必须回答的问题——个人题库到底放服务端还是手机。
墨狂之逸才6 小时前
android
USB 的 HOST 和 DEVICE 到底有什么区别?ADB 调试应该选哪个?每次给 Android 工控屏接电脑,看到「USB OTG 模式」里的 HOST 和 DEVICE,总要想一下该选哪个。
奶油话梅糖7 小时前
android·macos·智能手机
苹果的内核跑上了安卓手机:2,631 Star 的 HakiOS 让 XNU 在 Adreno GPU 上画出 118 帧数据说明:本文 Star/Fork 数字取自 2026 年 11 月 9 日 GitHub API 实测快照;技术机制、性能数据与法律条款均以 HakiOS 仓库 README 及其文档原文为准,未作虚构。
恋猫de小郭7 小时前
android·前端·flutter
Flutter THLC 的 WebView 滚动终于从 70 FPS 提升到 120 FPS天见犹怜, flutter/flutter#195861 终于合并了,终于把 TLHC 模式嵌入 的 WebView 滚动从 70 FPS 提到 120 FPS,之前一直用 HC 的原因就是 TLHC WebView 滚动不有舒服,关于几种模式我们应该聊过很多次了:
好的佩奇18 小时前
android·flutter·dart
Dart 之扩展类型18 号柜子里的“18”,和 18 件物品里的“18”,虽然是同一个数字,含义却不一样。物品增加一件,数量变成 19;柜子编号加一,指的已经是另一个柜子。
alexhilton20 小时前
android·kotlin·android jetpack
2027 Android 开发者路线图:学习、面试与 AI本文译自「Android Developer Roadmap 2027: What to Learn, What Interviews Ask, and Where AI Fits」,原文链接medium.com/proandroidd…,由Mayank Kumar发布于2026年10月30日。
灿飞屋1 天前
android·java·开发语言·后端·python·kotlin·安卓
Kotlin与Java虚拟机三:控制流控制流决定了程序往哪走。Kotlin 的控制流有一个核心设计:几乎所有控制结构都是表达式,会返回一个值。这一点和 Java 差别很大,后面写代码你会感受到它带来的简洁。
疯华整猫1 天前
android·性能优化·源码
我用 Trae 把 Android 内存账重算了一遍3 月 12 日那次灰度,我盯的是一台 4GB 的 Redmi Note 9(Android 11 / API 30)。发版第二天,模块 M 的「进程被系统杀掉」上报从每千次冷启动 6 次跳到 21 次。我照老习惯抓了份 heap dump,Java 堆 24MB、对象数、支配树,全都和上个版本对得上,连一个多出来的 Activity 都没有。可是 adb shell dumpsys meminfo com.example.health 里 TOTAL 那行从 168MB 变成了 248MB。80MB 的
TimeFine1 天前
android·ai编程
AI 编程工作流的设计:从人工判断到 AI裁判从串行验证、并行协作,到三种工作流各自的 Referee 优化。前两篇:前两篇分别解决了两类问题:但三条路线跑起来之后,新的问题又出现了:
阿杰m1 天前
android
Android源码第四章:Android 系统启动——App 的第一行代码从哪来?打开一个应用时,究竟是谁创建了它的进程?为什么应用进程的父进程通常是 Zygote,而不是负责启动它的 system_server?再往前追,Zygote、SystemServer 和第一个用户空间进程又从哪里来?
疯华整猫1 天前
android·人工智能·计算机视觉
混淆起初根本不是为了防破解:我用 Trae 把 Android 混淆这二十来年重跑了一遍有个周五晚上,我把刚打出来的 release 包拖进 jadx,想确认一下某个接口签名有没有被改掉。结果包一打开我就愣了:UserRepositoryImpl、HealthRecordViewModel、LocationPermissionHelper,业务类名一个没动,包名整整齐齐,连方法名都是原样。开了 minifyEnabled true 快两年,混淆了个寂寞。
Carson带你学Android1 天前
android·ai编程
AI时代,你的 App 会被 Agent 这三种方式调用对 Gemini 说一句"帮我用 XX App 订一杯拿铁",Agent 就替他在你的 App 里完成了整个流程。
恋猫de小郭1 天前
android·前端·flutter
Flutter 下 AOT 一个你怎么都想不出来的 Bug ,JIT 正常的计算,在 AOT 居然算错了最近有个 dart-lang/sdk#64878 的 Bug ,太抽象了,和我最近遇到的问题一样抽象,同一段合法的 Dart 数值计算代码,Debug 运行正常,AOT 编译后居然可能直接崩溃,或者不崩溃,但是直接算出来一个错误的结论。
好的佩奇2 天前
android·flutter·dart
Dart 之扩展方法给插座接上转换头,原本不匹配的插头也能使用了,但墙里的插座并没有被重新制造。我们增加的是一种使用方式。
三少爷的鞋2 天前
android
换个思路理解:非阻塞挂起两个执行单元,一个负责打印偶数,一个负责打印奇数,要求按顺序输出:表面上看,这是一个打印问题。但它真正要解决的是执行单元之间的通信:当前一方完成后,如何通知另一方继续?还没轮到自己时,又应该如何等待?
好的佩奇2 天前
android·flutter·蓝牙
蓝牙之经典蓝牙蓝牙耳机第一次连接手机时,往往要长按按键,等指示灯闪烁,再到手机里找到它。以后再用,拿出耳机就可能自动连上,不必每次都重新搜索。
传奇开心果编程2 天前
android·flutter·ios·移动开发·跨平台·ui框架·声明式ui
【Flutter踩坑排雷】第19课:路由硬编码坑|字符串路由书写错误,页面跳转失败排查摘要本文聚焦 Flutter 路由硬编码这一“静默失联”型故障:拼写错误、参数类型不匹配、兜底页面掩盖、大小写与编码边界,四类问题在编译期完全合法,却只在运行时暴露。文章从故障现场切入,剖析“字符串是运行时才验证的契约”这一根因,结合 go_router、auto_route、GetX 的真实案例,给出五步排查方法论与五层修复路径——从路由常量集中,到 safe_route、TypedGoRoute 代码生成,再到 go_router_linter 与 CI 门禁,最终让路由契约从运行时约定变为编译期约束
微小的鱼2 天前
android·java·linux
Linux的渲染与显示系统链路作者之前一直在做跨平台、全平台SDK(PC、移动端、web等),以前由于业务等在Linux上需求不是太多,所以在这一块的研究与总结较少。现在正好有一个实际来实现与总结Linux系统上的渲染与显示链路,包括linux内核中的各种各样的名称与概念。
道尔柯南3 天前
android·java·c++
C++ string 类详解:从常用接口到深拷贝,彻底掌握字符串处理在 C++ 编程中,字符串是最常见的数据类型之一。无论是处理用户输入、读取文件、解析数据,还是参加算法竞赛,我们都离不开字符串。