过去太多的情况下以为把一个view的的可见性设置为Gone,因为这样直接把这个组件拿走,不会像Invisable一样,会留下一个很难看的背景图。的确也一直是这么做的
但是最近实现一个浮动层弹出和消失的效果,下边是个ListView.
但是后来莫名奇妙的发现ListView中的Adapter 的getView方法莫名其妙的反复调用。
因为整个界面逻辑比较多,找了一天才发现是浮动层的原因。
浮动层效果是:的是做完动画显示一定的内容后,调用的Gone隐藏的。
后来经过测试,发现如果有组件通过设置Gone 属性隐藏掉,会导致整个界面重新测量宽高,而导致所有AdapterView的View 重新加载。
设为Invisable之后,问题解决
当数据量过大的时候,我想,这两个看起来没太大区别、普通面试常问道的一个小问题,可能效果会很不同吧。
希望对大家有所帮助