JavaFX AnimationTimer在启动时是否在单独的线程上运行?
我在调试器中运行了一个JavaFX应用程序,有或没有AnimationTimer,并且在两种情况下都运行了6个线程.另外,JavaDocs没有提到它的实现Runnable.
这表明它不是在自己的线程中运行,但就其本质而言,我认为它需要在自己的线程中运行以确保它以足够的时间运行.
如果它不是在自己的线程中运行,它是否只是在任何线程中运行它?这是否意味着如果我在创建AnimationTimer内部的时候修改Timer中的UI元素是安全Application的start()?
JavaFX的AnimationTimer在启动时是否在单独的线程上运行?
不,它没有.它在JavaFX应用程序线程上运行.当AnimationTimer handle()处于活动状态时,每个帧都会调用AnimationTimer的方法.通常,JavaFX会尝试保持60 fps的帧速率.
这是否意味着如果我在Application的start()中创建AnimationTimer,从Timer中修改UI元素是安全的?
是的.由于它在JavaFX应用程序线程上运行,因此修改场景图元素是完全正确的.只要确保你没有做大量计算handle().
| 归档时间: |
|
| 查看次数: |
862 次 |
| 最近记录: |