因此,我有一个包含>>> spam = []
>>> eggs = spam
>>> spam += [1]
>>> eggs
[1]
>>> spam = []
>>> eggs = spam
>>> spam = spam + [1]
>>> eggs
[]
的活动。这是一个清理过的xml。
HorizontalScrollView
还有我的<android.support.v4.widget.DrawerLayout
style="@style/style_DrawerLayout">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<include
layout="@layout/toolbar_std"/>
<include
layout="@layout/btn_bar_scroll"/>
<android.support.v7.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</LinearLayout>
<include
layout="@layout/navigation_view"/>
</android.support.v4.widget.DrawerLayout>
(为清楚起见,仅显示了三个按钮)
btn_bar_scroll
它工作正常,完全符合预期。除了使用<HorizontalScrollView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation"horizontal">
<Button
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:text="BTN1"
android:drawableTop="@drawable/ic1"/>
<Button
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:text="BTN2"
android:drawableTop="@drawable/ic2"/>
<Button
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:text="BTN3"
android:drawableTop="@drawable/ic3"/>
</LinearLayout>
</HorizontalScrollView>
时,我注意到,每当以任何一种方式拖动滚动条时,整个页面上的每个视图都会更新(即使Show GPU View Updates
也更新)。表现不是很好。
奇怪的是,通过将Toolbar
换成另一个视图,例如HorizontalScrollView
,停止了不必要的视图更新(轻拂时只有FrameLayout
更新)。有什么建议吗?我宁愿没有理由似乎也没有多余的HorizontalScrollView
。
FrameLayout