用于实时应用程序的 Android 架构

标签 android architecture timer real-time

我在从我的应用程序中获得足够的实时性能时遇到了一些困难,并且想知道我是否已经对其进行了次优架构设计。要求应用程序以用户指定的时间间隔播放声音并在 Canvas 上画一条线。

我有一个 Thread,它在用户指定的时间间隔内休眠,唤醒并使用 HandlerRunnable 来执行所需的操作绘图和声音播放。当我运行该应用程序时,节拍有时很稳定,但其他时候,您可以从 AudioFlinger 中看到 GC 和随机警告条件的效果。

Timer 线程通过 Handler/Runnable 回发到 GUI 线程是最好的方法吗?我可以做些什么来提高我的应用程序的优先级,同时它是可见的,以便其他应用程序和 Android Activity 不太可能中断它?我是否需要使用 NDK 来访问 Java API 中不存在的实时功能?

最佳答案

听起来您想要的是一个游戏循环。有很多关于创建游戏循环的教程,这些游戏循环的时间比 sleep 时间更一致,例如 simple java android game loop.您可以尝试根据该术语进行搜索,看看是否有帮助。

关于用于实时应用程序的 Android 架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2380774/

相关文章:

performance - 大型电子商务网站有多快?

architecture - 有理由在 Blazor 服务器端使用 ViewModel 吗?

C++ timer_create() 不创建新线程

architecture - 任务队列在 Clean Architecture 中的什么位置?

javascript - 防止页面刷新时 Javascript 倒数计时器重置

java - 如何在 java 中创建一个带有名称的 timer.scheduler ..?

android - Android 中的 Google Checkout

android - 圆心与圆周相连的圆弧直线怎么画

android - 一个简单的 50 项列表是否足以证明使用 ListView 是合理的?

android - 从 Android 应用程序通过 Facebook token 对 WebAPI 进行身份验证访问