1. 核心开发语言与框架
精通 Java 和 Kotlin 开发,熟悉 Kotlin 协程(Coroutines)和 Flow 的使用。
深入理解 Android SDK,熟练使用 MVVM、MVP 及 MVC 设计模式。
精通 Jetpack 组件库(如 Lifecycle, ViewModel, LiveData, Room, Navigation 等)。
2. UI 与性能优化
熟练掌握各种自定义 View、动画效果及事件分发机制。
具备性能优化经验,包括 内存泄漏检测(LeakCanary)、布局优化(Hierarchy Viewer)、包体积压缩及启动速度优化。
熟悉各种适配方案,确保应用在不同尺寸及系统版本上的兼容性。
3. 网络与数据存储
熟练使用 Retrofit + OkHttp 进行网络请求与封装。
熟悉 JSON 解析(Gson/Fastjson)及 Protobuf 协议。
熟练掌握 SQLite 数据库、Room 持久化框架及 MMKV/SharedPreferences。
4. 架构与进阶能力
熟悉常用设计模式(单例、工厂、观察者等)及组件化开发架构。
具备 JNI/NDK 开发经验,能够处理 C/C++ 库的调用。
熟悉常用的第三方库集成,如 Glide/Coil 图片加载、Dagger2/Hilt 依赖注入等。
5. 开发工具与工程化
熟练使用 Git 进行版本控制,掌握 Gradle 构建优化及多渠道打包。
了解 CI/CD 流程,具备良好的代码规范意识和文档编写能力。
项目名称:tinynote
项目描述: 本项目是一款基于 Android 原生开发的轻量级记事应用,旨在为用户提供高效的文本记录、分类管理及多媒体附件功能。
核心技术栈: Kotlin、MVVM 架构、Room 数据库、Kotlin Coroutines & Flow、Jetpack 组件 (ViewModel, LiveData)、Material Design 3。
个人职责与核心实现:
架构设计: 采用 MVVM 架构模式,结合 Repository 模式管理本地数据源,确保了 UI 逻辑与业务逻辑的解耦,提升了应用的响应速度。
数据持久化: 使用 Room 数据库 实现笔记的 CRUD(增删改查)操作。通过编写复杂的 SQL 查询实现关键词搜索和标签分类,并利用 Paging 库 加载海量笔记列表,避免内存溢出。
异步数据流: 深度集成 Kotlin Coroutines (协程) 处理数据库读写任务,配合 Flow 实现 UI 的实时响应,当底层数据库发生变化时,界面会自动刷新(响应式 UI)。
富文本处理: 实现了富文本编辑功能,支持插入图片、列表和简单的 Markdown 格式。针对图片存储,优化了 Bitmap 的二次采样加载,解决了长图导致的 OOM(内存溢出)问题。