在我的SplashActivity中,有时会显示图像视图,有时它会显示gif。我用android-gif-drawable来玩gif。但我发现,如果我没有设置活动<activity android:hardwareAccelerated="true" />
,gif将以正常速率播放。只有我启用hardwareAccelerated,才能正常播放。但是,在我设置<activity android:hardwareAccelerated="true" />
之后,我使用了adb shell dumpsys com.yanzi.demo
,GL花费了大约20M内存。所以,我必须使用java来启用硬件加速,只有在播放gif时。
我使用下一个代码启用它:
getWindow().setFlags(
WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED,
WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED);
在setContentView
运作良好之前写下它。但是,我需要时间检查是否播放gif,因此必须在setContentView
之后启用它。我测试一下,发现不行。有人可以帮帮我吗?或者,这是一个无法解决的问题? Api guides
答案 0 :(得分:0)
如果您在setContentView
之后启用硬件加速,则必须使用WindowManager
添加视图。否则,它根本不起作用。希望能帮到你。