Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 加载ListView的速度比Viewholder方法快_Android_Android Listview - Fatal编程技术网

Android 加载ListView的速度比Viewholder方法快

Android 加载ListView的速度比Viewholder方法快,android,android-listview,Android,Android Listview,在为listView扩展视图时,是否最好在.xml文件中包含所有不带android:text的TextView?这对速度有多大影响?那么ViewStubs呢,会更快吗 当使用8个文本视图(不带android:text和android:text=“@string/abc”)对线性布局进行充气时,会有什么变化吗? 请注意,我正在重用视图,所以可能只有10个视图被膨胀,然后被重用,我不知道 我正在开发一个中兴刀片,因此“一个600Mhz的CPU,而不是一个四核…”这在加速列表视图时非常有用,尤其是视图

在为listView扩展视图时,是否最好在.xml文件中包含所有不带android:text的TextView?这对速度有多大影响?那么ViewStubs呢,会更快吗

当使用8个文本视图(不带android:text和android:text=“@string/abc”)对线性布局进行充气时,会有什么变化吗? 请注意,我正在重用视图,所以可能只有10个视图被膨胀,然后被重用,我不知道


我正在开发一个中兴刀片,因此“一个600Mhz的CPU,而不是一个四核…”

这在加速列表视图时非常有用,尤其是视图保持器位:


我也有一个中兴刀片,它们速度很慢,但运行良好的应用程序在“普通”手机上运行得很好:)

你可以试试这个,不确定它是否会加速,但试试看

在背景线程中展开布局

View getView(int position, View convertView, ...) {
    View v;
    if (convertView == null) {
        Start a background thread to inflate your linearLayout. 
        Pass item data and view 'v' to it.

        v = inflate a simple dummy textview;
        return v;
    }
    set normal stuff to convertview here.
    return convertView ;
 }
在后台线程中

  • 将线路布局充气至
    'v'
  • 设置所有数据
  • 然后使视图无效
    v

    v.postInvalidate();
    

如果要替换文本视图中的文本,那么就不必在XML中填充它们

在简单的ListView中,一个真正的性能杀手是嵌套的linearlayouts。只要稍加努力,任何线性布局树都可以替换为相对布局树

通过使用ViewHolder样式或在view.setTag(R.id.resId,findViewById(R.id.resId))中简单地设置,确保没有在if(convertView==null){块之外使用findViewById


您在评论中提到,您从异步任务返回时遇到延迟。请确保您没有在每次输入后重新加载表。对数据源进行批量更新,然后重新加载表。

是的,我使用的是View Holder,我想知道充气是否有任何影响我认为没有,但是如果您的行项目我们有很多小部件,这样会让一切都变慢一点。你想提高滚动速度吗?即使我使用适配器,我的应用程序在Ajax返回后会挂起几秒钟,我用40行填充列表,我使用的是三星galaxy标签,我想不出如何进一步优化我想你会在UI线程中访问互联网听上去,这里有一个例子:不,不,我使用的是asynctask,只是当我一次添加40行时,它会滞后,我想一行一行地添加,但在beetween中有一些延迟,dunnoi无法让它工作,v.postInvalidate()什么都不做这个主意很好,但我无法让它发挥作用,你有简单的工作代码的例子吗?如何将convertView与v交换,没有办法。这个主意是膨胀线性布局,然后向其中添加所需的所有元素,这样就行了。你能将最终的工作代码添加到你的帖子中吗它加速了吗?如果你让你的行的高度变大,安卓必须画更少的线,而且速度更快,你还可以说,手指大的人可以更容易地选择行:)