美文网首页
iOS性能优化和设计模式

iOS性能优化和设计模式

作者: 39Coding | 来源:发表于2020-06-30 15:02 被阅读0次

    你在项目中是怎么优化内存的?

    • 减少类的创建,多复用
    • 尽量用轻量级的对象
    • 图片不能过大,尽可能少用图片
    • 少用定时器
    • 控制线程的最大并发数量
    • 减少、压缩网络数据

    优化你是从哪几方面着手?

    • CPUGPU
    • I/O操作
    • 网络
    • 定位

    列表卡顿的原因可能有哪些?你平时是怎么优化的?

    • 使用MVVM模式进行开发,ViewModel在子线程获取Model的同时也将视图的UI属性都提前计算好,再回到主线程刷新,尽可能减少在滚动的时候的计算操作
    • 图片圆角不使用layer.masksToBounds = YESlayer.cornerRadius大于0的方式设置,通过CoreGraphics绘制裁剪圆角,或者叫美工提供圆角图片
    • 要使用阴影就必须也设置layer.shadowPath

    遇到tableView卡顿嘛?会造成卡顿的原因大致有哪些?

    • 高度并没有提前算好、离屏渲染、视图结构过于复杂、视图的UI属性修改频繁、透明的视图过多、图片过大

    讲讲 MVC、MVVM、MVP,以及你在项目里具体是怎么写的?

    • MVC:将View内部的细节封装起来了,View依赖Model,展示的内容由Model决定,Controller负责控制View展示哪个Model的内容
    • MVVMViewModel互不依赖,都经由ViewModel进行联动,ViewModel负责Model的加载和View需要的其他数据的处理,并将其
    • MVP:跟MVC类似,只是把Controller的工作交付给Presenter,并且View不依赖Model,由Presenter控制Model的内容数据展示在哪个View
    MVC-变种.jpg MVC-Apple版.jpg MVP.jpg MVVM.jpg
    1. 你自己用过哪些设计模式?
      • MVCMVVM
    设计模式的分类.jpg
    1. 一般开始做一个项目,你的架构是如何思考的?
      • 分层设计,分别以界面层、业务层、网络层、数据层共四个大的层面划分,再按功能的不同进行模块化开发
    分层设计.jpg

    相关文章

      网友评论

          本文标题:iOS性能优化和设计模式

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