新年快乐,社区!
Source: Dev.to
Introduction
大家好,欢迎阅读这篇博客,祝大家新年快乐!
Project Overview
本项目的最终目标是一个纯装饰性的应用——音频频谱可视化器。
目前,这仅是最终应用的概念阶段。
First Learning Step
实现了一个简单的应用,包含:
- 三个文本框
- 一个按钮,用于递增数值
为了迎接新年,应用中加入了一个小彩蛋:当按钮被按下 26 次 时,音乐会开始播放。
Fields
- 第一个文本框 – 当数值达到 26 时显示的文字会改变,并开始播放音乐。
- 第二个文本框 – 一个计时器,记录自应用启动以来的时间(每 250 ms 更新一次)。
- 第三个文本框 – 按钮点击计数器(也是触发彩蛋的依据)。
Development Details
开发大约用了两天,主要时间花在熟悉工具和 SDK 上。
Devices
- 小米 Redmi Note 11 NFC(2022)– Android 13(自制 ROM)
- 小米 Mi 5(2016)– Android 14(自制 ROM)
设备控制使用 AnyDesk(AD1)。应用在两台设备上都能运行,但存在一些注意事项。
Issues
Suspected Memory Leak
分析器显示出锯齿形的内存使用曲线。我怀疑这与 JVM 行为以及 UI 状态更新(可能是 StateFlow)有关。这仍然只是一个假设。
Crash During Audio Playback
当数值达到 26 时,首次音频播放后应用会崩溃,但如果数值超过 26 则不会崩溃。很可能是因为重复创建音频播放进程导致的,需要进行修复。
Conclusion
尽管存在包括关键错误在内的 bug,我仍然认为在 Android 开发的前两天学习中,这个结果相当不错。
如果有人感兴趣,我可以提供项目仓库的链接。未来我不打算维护或更新它——这纯粹是一个用于探索开发环境及其局限性的学习项目。