我写了一个Android应用,创建了多个简单视图(ImageViews showing a drawable
)。每次触摸后都会添加新视图。虽然它可以通过一些视图很好地工作,但它最终会增加10000个视图(故意)。这使得应用程序非常滞后。
实际上没有那么多发生,大多数观点在应用程序的整个运行过程中保持不变。每次触摸发生时,只有少数会更新。
我还不太了解Android编程。你有什么想法,我怎样才能更有效地实现这个?目前,我只是将视图添加到RelativeLayout
。
点击一个大圆圈使其成为小圆圈。如果没有任何东西触及圆圈,它就不会改变。一旦较大的圆圈被摧毁,我会创建一个较小的圆圈,因此没有重叠的视图。
答案 0 :(得分:1)
最好的方法 - 使用RecyclerView。
此小部件是一个容器,用于显示大型数据集,可以通过维护有限数量的视图来非常有效地滚动。如果数据集合的元素在运行时根据用户操作或网络事件而更改,请使用RecyclerView小部件。
RecyclerView.LayoutManager也是您与RecyclerView关系的朋友。这对你有所帮助。您可以根据需要布置您的观点:
如果您想要指向布局视图:
为了获得更好的效果,您应该放弃RelativeLayout
和ImageView
概念。
就我而言,最好的方法是 - 写一个自定义视图。