我一直在寻找相关论坛上关于这一点,但没有一个(还)有详细其中这些组合方法foo.setVisibility(View.VISIBLE)
+ foo.setVisibility(View.GONE)
和parent.addView(foo)
+ parent.removeView(foo)
是性能或能耗方面更好的...在性能方面,哪个更好:foo.setVisibility(View.GONE)还是parent.removeView(foo)?
回答
不可见视图是测量的但未绘制。没有测量过去的观点。所以有一个轻微的性能差异。
嗯..我在这里问了setVisibility()与addView()/ removeView。不是View.INVISIBLE与View.GONE :) – Zarashi99
foo.setVisibility(View.VISIBLE)
+ foo.setVisibility(View.GONE)
优先于parent.addView(foo)
+ parent.removeView(foo)
如果您想频繁显示/隐藏。
感谢您的回应。 :) – Zarashi99
这取决于您的实施。但在大多数情况下,这并不重要。
您的自定义View
可能具有“巨大”的构造函数,或者某些方法使用时间/处理器消耗的计算过载。
尽管如此,在通常的情况下(例如,TextView
)它确实没有关系。
如果可见性状态等于消失,则不使用此视图的方法。而渲染这个视图的布局被忽略。
非常感谢您的意见:) 你是对的。这是关于执行情况,这是一个案件的基础。 最后,在我正在开发的项目的一部分中,我将使用addView/removeView。我将需要基于事件的方法,此外,它使我的customviews承担Fragments通常采用的角色。 – Zarashi99
与添加和删除视图相比,绝对可见和无效更好。
1)像其他人所说的,它肯定比实际删除和添加视图
但据我来说是更重要的点下更好的性能
2)你仍然可以做很多事情与查看(getText或setText)等与视图,即使你对视图做了一个GONE,但如果它删除并添加视图,视图本身不存在,阻止你对它做任何事情
最后,这是一个案例基础。一个比另一个有优势,反之亦然。当你想从显示一个视图跳转到另一个视图时,我的看法是'setVisibility()'更好,如果视图更小, 'addView()'+'removeView()'组合更适合自定义视图,其中包含许多其他元素,并且当您不想将视图保留为活动状态并且它们未连接到父级时可访问。 感谢您的输入,顺便〜 – Zarashi99
使用在不占用大量内存(如TextView)的视图上使用View.GONE并在视图上使用parent.removeView(view)是很多内存(如WebView)
感谢您的输入! :) – Zarashi99
- 1. foo.setVisibility(View.GONE)和parent.removeView(foo)之间的区别
- 2. 在可读性方面哪个更好?
- 3. 哪个循环在性能上更好 - foreach还是?
- 4. 哪个更好foo :: bar()VS $ foo :: bar()?
- 5. 哪个地图缩小性能更好?Hbase还是Cassandra?
- 6. 哪一个性能更好?交叉连接还是新表?
- 7. 哪个(下面两个)在ActionScript编程的方法更好/ preferrable /性能更好
- 8. 在查询mongodb时哪种方法在性能方面更好?
- 9. 在这种情况下哪个更好:性能还是可靠性?
- 10. XPath性能 - 哪个更好?
- 11. 哪个`if(!isset($ foo)OR(isset($ foo)AND $ foo == $ bar))`或`if(!isset($ foo)OR $ foo == $ bar)`更好?
- 12. 哪个更好? Java开发还是Webworks?
- 13. 哪个更好? XML,INI还是其他?
- 14. 哪个更好?碳还是可可? (Mac)
- 15. PHP - 退出还是哪个更好?
- 16. 克隆还是应用:哪个更好?
- 17. MySQL - 哪个更好:SELECT还是SELECT COUNT?
- 18. Neo4j,哪个更好:多重关系还是一个属性?
- 19. 在PHP中哪个性能更好?
- 20. 其中哪些在性能方面更好?
- 21. 在性能方面什么更好?
- 22. 这在性能方面更好?
- 23. PHP + Wordpress功能组织:哪个更好,function()还是Include()?
- 24. SQL Server和Oracle,哪一个在可伸缩性方面更好?
- 25. 哪个循环具有更好的性能?增加还是减少?
- 26. 哪个更好:用户界面角度还是智能表格角度?
- 27. 在性能和用户体验方面,哪个更好Xamarin或Apache Cordova?
- 28. 在性能方面哪一个更好的动态布局或XML布局
- 29. 在性能方面,<c:import>和<jsp:include>中哪一个更好?
- 30. 在性能,隐式(自动)拆箱或显式拆箱方面哪个更好?
不是我的失望,但'INVISIBLE'和'GONE'做了非常不同的事情。前者将布局项目保留在实际布局中,但不可见,后者完全删除该项目。我的猜测是,你的用例,而不是性能,将成为你使用哪一个的决定性因素。 –
很明显,如果你删除了一个视图,它将不会是布局的一部分,并且是“更高性能”的,但是这只在列表元素中才有意义。 –
请记住:不成熟的优化是所有邪恶的根源。 – Sweeper