ViewStub Gone的区别

我是通过debug来看的。


debug然后输入公式  findViewById(goneViewId),可以看到这个View对象是存在,如果这个Gone的ViewGroup下面有ImageView,则IamgeView的Drawable也被 加载到内存中了。

ViewStub extends View,没有childView 所以肯定不占资源了


总结:

把View设置成GONE,但是ViewTree仍旧被inflate 生成对象占用资源。只是避过了Layout、measure、draw的环节。

ViewStub在没有inflate时只是 空白的View,不消耗资源


资料:

看到个资料是用TraceView来分析的,但是我用Activity的onAttach 没有捕获到inflate方法,他是用的Fragment

http://magicmicky.github.io/android_development/benchmark-using-traceview/

你可能感兴趣的:(Android)