【问题标题】:scrolling become slow when having large number of textviews in scrollview滚动视图中有大量文本视图时滚动变慢
【发布时间】:2013-06-28 17:10:14
【问题描述】:

我有 Scrollview 正在被务实地填充,大量的 textview 带有从 Assets 文件夹加载的背景位图。它们被填充为行。每行有不同数量的列,当我有大量这些文本视图时,它滚动停止平滑,我不能使用适配器,因为我有多个案例,每个文本视图应该有单独的动作,如何使这个滚动更平滑?

我使用 Overidden text view 并覆盖了:

@Override
    public void requestLayout() {
        /*
         * Do nothing here
         */
    }

但在第一次加载时它仍然很慢,有什么想法吗?

【问题讨论】:

  • 适配器可以为列表中的不同对象扩展不同的布局。我会重新使用带有适配器的 ListView。
  • 您尝试过使用列表视图吗?
  • 在 scrollView 中使用大量视图可能会导致反应缓慢,因为所有消失的东西如果回来就会重新创建。然后,如果你有一个图像作为该视图的背景,它会更慢。尝试将图像减少到您需要的最低值。这张图片有多大?
  • @Opiatefuchs 是否会在视图变得不可见时回收视图?
  • 感谢您的快速回复:)。好吧,图像可以缩小,它因屏幕而异,我正在为班级座位或讲座座位绘制地图,每个座位都是可点击的,我无法想象 Listview 会有所帮助,因为我必须移动行和列

标签: android layout textview scrollview


【解决方案1】:

我仍然会使用适配器和ListView 设计,因为您可以为每一行添加不同的布局,就像您已经在做的那样。唯一的区别是ListView 将根据需要处理这些视图的销毁和创建。 如果您将有许多不同类型的视图,则无需在适配器的getView() 方法中使用convertView。但它仍然应该滚动更流畅。

【讨论】:

    【解决方案2】:

    您可以为特定活动添加 android:hardwareAccelerated="false"。 http://developer.android.com/guide/topics/graphics/hardware-accel.html

    【讨论】:

    • 我认为我无法使用它,这是我的清单信息:android:minSdkVersion="10" android:targetSdkVersion="17" 当我添加这行代码时,它给出了错误。有没有办法阻止视图再次被重绘?
    猜你喜欢
    • 2016-04-07
    • 2014-02-16
    • 2014-04-20
    • 2023-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多