2018-03-06

ios 知识总结
本人小菜鸟 能力一般 总是记不住东西 故在此写下记录 望日后有所可查
1 Masonry的使用导致内存增加问题:
并不是Masonry本身的问题,原因是在每次执行updateConstraints的时候会重新绘制一次,内存就会增长一次,对于没用或者失效的约束应当立即删除.Masonry的mas_makeConstraints方法是添加约束。每添加一层,内存增长一次,不删除就一直存在。问题就在约束的管理上
Masonry的三种设置约束的方法:

  • (NSArray *)mas_makeConstraints:(void(^)(MASConstraintMaker *))block
  • (NSArray *)mas_updateConstraints:(void(^)(MASConstraintMaker *))block
  • (NSArray *)mas_remakeConstraints:(void(^)(MASConstraintMaker *make))block
    第一个是添加约束,不管原来与没有,只是个添加;
    第二个是更新,在原来约束的基础上进行局部更新;
    第三个是重设,删除原来已有的约束,重新添加约束,可以替换mas_remakeConstraints。

在cell约束需要频繁改变时(或者说updateConstraints会被多次调用时),我们要用mas_remakeConstraints方法来设置约束

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 周末,跟一个实体生意做的相当不错的老友聚了下。 聊天之中,话里话外都透露出一个意思,经营成本太高,获客难度越来越大...
    喜欢微笑的女孩阅读 1,344评论 0 2
  • KVC kvc提供了一种在运行时而非编译时动态访问对象属性与成员变量的方式,该方法不需要调用get/set方法 O...
    李波小丑阅读 301评论 0 1
  • 2016年2月22日,我从熟悉的城市转学到一个陌生的县城。那是我第一次住校,也是我第一次到陌生的地方生活。嗯...
    司榕阅读 269评论 0 0
  • 寂静的夜 睡不着,也不想睡 便听着风扇的嗡响 拿起铅笔做自己喜欢的事 上色后 填色后 上色前
    陶卿子阅读 222评论 2 3
  • 我有荒唐梦,浮生任轻狂。 遥寄仙中客,世间无此状。 琴棋陋室藏,鸡狗鸣青荒。 鸱吻踩飞檐,白鹤绣西窗。 妇揽花镜后...
    楼夙阅读 466评论 0 3