使用动画时音频线程运行缓慢



我正在使用一个服务为整个应用程序运行背景音乐。该服务启动一个异步任务来播放音频文件。对于没有动画的活动,音乐播放得很好。但对于有动画的活动,音乐不断中断,或者可以说跑得很慢(我希望我能表达)。

我不明白问题出在哪里,因为除了那些特定屏幕中的音频外,一切都很好

这是因为我使用模拟器,在实际设备中它会工作吗?或者有没有一种方法可以在模拟器中完成。

谢谢你的回答。

在单独的线程中运行动画。这会有所帮助,但一定要使用处理程序。因为视图只能从其原始线程更改。

这样做:

    final Handler myHandler = new Handler();
    (new Thread(new Runnable() {
        @Override
        public void run() {
            //do long calculations here
            myHandler.post(new Runnable() {
                @Override
                public void run() {
                  //set your views here
                    }
                }
            });
        }
    })).start();

解决这个问题的两件事

  1. 使用AmimationDrawable而不是AnimationUtils类(仅在导航时闪烁音频)
  2. 增加avd的堆大小(甚至在这之后消除了小的闪烁)

最新更新