美文网首页
AndroidUI卡顿优化方向

AndroidUI卡顿优化方向

作者: 天蓝_d82b | 来源:发表于2019-04-18 00:01 被阅读0次

    优化方向:

        一、RelativeLayout和带有weight的LinearLayout尽量不要放在根布局,防止出现子view进行过多measure

            原因:

                    1、RelativeLayout及其子view会进行2次measure,1次layout;

                    2、其子view中未使用weight的LinearLayout会进行1次measure,1次layout;                                                                               

                    3、LinearLayout中子view有使用weight的,会导致该LinearLayout及其所有子view进行两次measure;                                        

                    4、嵌套使用时,会导致measure方法调用数据成倍增加。

        二、使用<merge>标签或者使用RelativeLayout,使view层级尽量减少,防止在measure和layout中会导致过多和过深的递归,

            原因:

                    递归会导致在空间和时间上都造成大量的性能问题,这是由于递归会进行数据的出入栈和保存读取,这个会浪费大量的时间和                     空间。

        三、将不常使用的view初始设置为Gone(是不可行的,原因如下)、或者使用<viewStub>尽量减少布局中的view个数

            原因:

                    1、visibility初始值设置为Gone时,不会进行measure和layout,但是会创建View,一样会进行耗时操作;

                    2、<viewStub>进行measure和layout的耗时小于(甚至远小于)其他view的耗时。

        四、优化view中的逻辑代码,减少循环和递归

    相关文章

      网友评论

          本文标题:AndroidUI卡顿优化方向

          本文链接:https://www.haomeiwen.com/subject/jxkawqtx.html