ListView中的硬件加速

5

有没有一种方法可以强制在ListView中进行硬件加速。 我有一个ListView,其中有超过400个具有相同图标的项目,滚动非常缓慢。我还添加了一个ViewHolder。 在清单文件中,我启用了硬件加速。 当我运行此代码时:

ListView list_new = (ListView) findViewById(R.id.listview01);
list_new.isHardwareAccelerated();

它返回false。 我的手机是带有Jelly Bean的Nexus S。 我该如何强制使用硬件加速?

编辑: 这是我的ListView:

<ListView
    android:id="@android:id/list"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:persistentDrawingCache="scrolling"
    android:hardwareAccelerated="true"
    android:fastScrollEnabled="true" 
    android:scrollingCache="true" 
    android:smoothScrollbar="true" >
</ListView>

我不确定那是最好的选择。但你可以把你的列表代码公开,这样我们就可以对其进行优化。 - shkschneider
此外,硬件加速并不是一个神奇的咒语,可以使一切变得流畅。在许多情况下,不使用硬件加速会产生更好的结果。 - Teovald
我知道硬件加速不能消除缓慢的问题。但我认为它可以改善这个问题。我很快会发布代码。 - alexnavratil
你能优化我的代码吗? - alexnavratil
2个回答

1

并非所有的View都支持硬件加速。硬件加速用于在画布上绘制。对于ListView,请使用

<ListView
...
android:smoothScrollbar="true";
...
>

0
在你的ListView中 android:layerType="hardware"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接