面向实时应用的Android体系结构

面向实时应用的Android体系结构,android,architecture,timer,real-time,Android,Architecture,Timer,Real Time,我很难从我的应用程序中获得足够的实时性能,我想知道我是否以次优的方式构建了它。要求应用程序以用户指定的时间间隔播放声音并在画布上画一条线 我有一个线程,它在用户指定的时间间隔内睡眠,醒来并使用处理程序和可运行执行所需的绘图和声音播放。当我运行应用程序时,节拍有时是稳定的,但其他时候,您可以从AudioFlinger中看到GC和随机警告条件的效果 通过Handler/Runnable将计时器线程发回GUI线程是最好的方法吗?我能做些什么来提高我的应用程序在可见时的优先级,以便其他应用程序和Andr

我很难从我的应用程序中获得足够的实时性能,我想知道我是否以次优的方式构建了它。要求应用程序以用户指定的时间间隔播放声音并在
画布上画一条线

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


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

听起来你想要的是一个游戏循环。有许多教程介绍如何创建游戏循环,这些循环的时间安排要比睡眠时间更一致,例如,您可以尝试根据该术语进行搜索,看看是否有帮助。

此外,在尝试创建实时应用程序时(如在持续动态的应用程序中),您希望避免让垃圾收集器运行。这需要一些时间,可以被视为滞后。因此,不要创建需要立即处理的对象等