在运行时设置视图alpha很慢,如何加快速度?

时间:2016-06-02 20:15:36

标签: android performance imageview

我有两个ImageViews,我希望imageViewA与imageViewB重叠,当用户选择一个搜索栏时,imageViewB的alpha值会相应改变(例如,变为半透明,用户可以看到imageViewA的一部分)。

它假设是一个简单的编码任务,但我发现我的Galaxy S6的性能非常慢。

我已经尝试了所有setAlpha(int),setAlpha(float)和setImageAlpha(float),但没有希望。似乎最相关的问题是App UI operations (setting alpha, setting margins, etc.) very slow on 4.4.4 compared to 4.0.3

然而,这个问题仍然存在。有谁知道如何加快速度?

----这是一些更新----

最小的代码很简单,在我做的搜索栏回调中

imageViewB.setAlpha(selectedAlphaValue);

极慢意味着fps小于1~2。我希望我可以让alpha每秒更换10次,让用户感觉舒服。 (顺便说一句,我没有基准设置alpha函数的延迟,因为它太慢了,即使我的人眼也注意到它每秒只变化1~2次)

1 个答案:

答案 0 :(得分:1)

谢谢Nikola,

ViewCompat.setLayerType(view, LAYER_TYPE_HARDWARE, null)

是正确的做法。它像魅力一样解决了我的问题。

你能否回复一下你的回答,Nikola?所以我认为你是正确的答案。