人。 我需要一个建议。在android中实现这种UI元素列表的最佳方法是什么(参见ref) 列表包含许多这样的元素(大约30-40)。我现在正在使用相对布局和4个文本字段,我认为这不是一个好方法......我认为它太重了(完整列表将包含:30个相对布局和30 * 5 = 150个文本字段)。
有关如何使其更轻量化的任何建议吗?
谢谢你们)
答案 0 :(得分:2)
这种观点相当简单,只要你使用ListView
和ListAdapter
正确利用视图回收和持有者模式,性能就完全没有问题(参见Android API演示)一个good example的List14演示。这意味着您的行视图只会被夸大(昂贵的部分)几次,之后您只需填充已移出屏幕的现有行,并重新呈现新信息,因此实际上最终只会内存中有6或7个行视图实例,而不是40。
注意事项:确保您没有做任何阻止适配器视图通胀/填充中的UI线程的事情,例如从网络加载图像或进行随机昂贵的SQLite查询,因为这会显着影响滚动期间的体验。大多数此类工作应该在后台线程中完成,通常会延迟不启动中卷(请参阅Brad Fitzpatrick的2010 IO talk了解更多信息)。
我高度推荐观看Romain Guy的Google I / O 2009 / 2010关于UI加速的演示文稿,这些演示文稿主要与所有Android开发人员的ListView相关。 2009年的一个有点旧(Cupcake时代),但两者都有很多关于列表浏览和查看回收的好东西以及一些关于好处的现实世界基准,还有一些其他不太明显的性能杀手警告(比如“不要分配对象”)你的适配器的getView()“ - 导致GC坏了。)