我不确定这是否是一个值得提出的问题,或者我只是因过度工作而过度思考,因此社区帮助在这个阶段肯定会很好地解决这个问题。
所以,我的问题是我的Android应用程序中有大约20-25个屏幕。该应用程序整体包含大多数片段中的导航抽屉,制表符,片段和列表(一些片段仅具有列表视图,而一些片段还具有其他几个组件和列表视图)。现在,这些列表视图中很少有类似的行视图,但由于放置和大小问题,我不能使用标记“include”。
例如,在rowview_1中,我在其右侧有一个imageview(ImageView_1)和三个textview(TextView_1,TextView_2,TextView_3),最后是极右侧的imageview(ImageView_2),其上发生了一个事件。然而,在rowview_2中,我的右侧有一个imageview(ImageView_1)和三个textview(TextView_1,TextView_2,TextView_3)。在极右侧,还有两个文本视图,它们在ImageView_1旁边和TextView_3下面传达一些额外的信息和一个imageview(ImageView_2)。
那么,在这种情况下,什么是更好的优化方法? 1)具有单独的多个rowview布局 2)在一个地方有一个包含所有静态元素的rowview,并动态添加和删除多余的元素(我相信它对于listview中的rowview来说同样昂贵)。
我不确定是否可以采用任何其他方法。任何想法/指导都是最受欢迎的。
提前致谢!
答案 0 :(得分:0)
首先。我认为,如果有任何差异是非常小的。
情景1:
1)清洁代码
2)更容易更改一个而不影响另一个。
情景2:
1)复杂的布局文件
2)如果布局中的所有可见性都设置为GONE,则加载时间不一定。
有一点需要注意的是,如果你要在同一个Activity中加载两个布局,你肯定应该使用场景2.当你第一次加载它时,活动会缓存布局,以便下次加载超级快。如果它们被分成不同的活动,那么缓存就会消失。另一件需要考虑的事情是您经常对两者进行更改。如果这种情况经常发生,那么情景2会更好。更改将在一个文件中完成。我个人更喜欢场景1.它更容易向其他想要做出改变的人展示。
希望这有帮助。