美文网首页
总结部分细节

总结部分细节

作者: 770a7122edde | 来源:发表于2017-08-23 15:19 被阅读9次

    1. FragmentPagerAdapter 和FragmentStatePagerAdapter  的区别:

    FragmentStatePagerAdapter在每次切换viewpager的时候是有进行内存回收的,更适用于多页面的情况,因为页面比较多的时候,会比较耗内存。而FragmentPagerAdapter他在destroyItem的时候并没有回收内存,只是对UI进行了分离。所以他适用月页面比较少的情形,才不会对系统内存有大的影响。

    2.Fragment的生命周期:

    3.Fragment的通信:

    第一种是Fragment中调用Activity的方法,只需要通过getActivity方法获取到原Activity,即可

    第二种是Activity中调用Fragment的方法。接口回调。需要在Fragment中定义接口,然后Activity实现,即可

    第三种是Fragment调用Fragment的方法,首先获取Activity,然后通过findFragmentById获取Fragment,即可

    4.关于view的invalidate和requestLayout方法的区别(参考):

    View绘制分三个步骤,顺序是:onMeasure,onLayout,onDraw。调用invalidate方法只会执行onDraw方法;调用requestLayout方法只会执行onMeasure方法和onLayout方法,并不会执行onDraw方法。

    所以当我们进行View更新时,若仅View的显示内容发生改变且新显示内容不影响View的大小、位置,则只需调用invalidate方法;若View宽高、位置发生改变且显示内容不变,只需调用requestLayout方法;若两者均发生改变,则需调用两者,按照View的绘制流程,推荐先调用requestLayout方法再调用invalidate方法。

    5.

    相关文章

      网友评论

          本文标题:总结部分细节

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