美文网首页iOS开发技术iOS IOS
提高自己应用性能的总结架构篇

提高自己应用性能的总结架构篇

作者: 人魔七七 | 来源:发表于2016-03-06 23:50 被阅读2018次

OK ,为什么会写这篇文章呢?因为最近接触老一些面试者,总感觉他们认为做应用只是纯粹的搭个界面,殊不知不仅仅如此。

我们从哪几个方面来测试应用的性能呢?

这里,因为没用真机来调试所以不会出现fps选项。下面再来一个

这里可以测试fps ,提示必须真机来运行,fps为0因为你没用动。

fps接近于60帧,那么你的app是相当的流畅,当然代价是要付出很多很多,然而说这些没有什么卵用,上面看的是翻天覆地的变化,没翻天覆地变化以为你就换换皮肤呢。

在没有很多业务开发者,和架构组的IOS app怎么提高性能呢?

第一:架构方面

谁说我们app 没有架构了。我们可以参考MVC ,MVVM ,MVP 等一些东西来提炼出我们自己东西。

我们网络请求的数据可以根据每个API来创建一个类,这个类用来接受params ,返回json

1:比如model 数据层我们可以接收网络请求过来的JOSN 或者XML转化成数据模型来使用,因此这里面除了你的模型属性字段,还应该有一个接收json转化model 的方法。还可以实现你的copy协议方法,以及归档方法方面数据持久化。

2:view 负责视图元素展示。你可以在这里面,

重写布局

或者cell高度以及给cell上元素通过传过来的model 赋值。

注意红线部分会触发楼上重写布局方法。

3:你甚至可以有一个数据持久化的类,来做model 的缓存,比如头文件可以有一些save model to cache,update  model to cache ,load model from cache, delete model from cache

4:控制器里做些什么呢

#import Controllers

#import Models

#import Views

#import Cells

上面导入的头文件必须分组织隔开

#pragma mark - Constants Define

一些cell 的标识符,常量定义

#pragma mark - Properties Getter And Setter

get set 方法实现 主要是get 方法可以在这里面做懒加载,需要时候再创建,在内存等方面得到优化,我很多几乎所有的创建东西都是懒加载,还在抱怨内存和跳转速度吗,不妨一试

#pragma mark - Controller Life Cycle

控制器生命周期

- (void)viewDidLoad {

[superviewDidLoad];

// Do any additional setup after loading the view.

}

- (void)didReceiveMemoryWarning {

[superdidReceiveMemoryWarning];

// Dispose of any resources that can be recreated.

}

#pragma mark - Setup

设置界面UI 等

#pragma mark - Actions

view上触发的事件让控制器通知model等

下面就是很多协议方法

#pragma mark - UITableViewDelegate And UITableViewDataSource

#pragma mark - UICollectionViewDelegate And UICollectionViewDataSource

5:我们需要一个类来做一些业务逻辑的东西

比如

- (NSArray*)getAlbums;

- (void)addAlbum:(Album*)album atIndex:(int)index;

- (void)deleteAlbumAtIndex:(int)index;

这里面会导入网络请求逻辑,数据存储逻辑,转化model逻辑。我们在控制器调用这个类的头文件API方法可以良好隔离model ,网络请求,model ,cache等逻辑。就是下图

也就是下图的结构,view上触发一个业务逻辑比如fetch 数据显示到views。controller 调用API逻辑的fetch数据接口。然后API里面逻辑有获取json 转化model。model的管理cache方面。最后获取到数据把model给view 的setModel 方法,给View展示数据。

下篇从网络,缓存方面来介绍,然后数据库,多线程,UI流畅度方面介绍,代码规范,页面布局等介绍。

相关文章

  • 提高自己应用性能的总结架构篇

    OK ,为什么会写这篇文章呢?因为最近接触老一些面试者,总感觉他们认为做应用只是纯粹的搭个界面,殊不知不仅仅如此。...

  • 企业应用架构模式总结--后续待更新

    企业应用架构模式 读中总结 : 一、引言--架构、企业应用、性能、模式 1.1、统一的内容:①、最高层次的系统分...

  • 前端性能优化

    js性能小贴士——优化循环 前端网页与js性能优化 我总结的js性能优化的小知识 提高 web 应用性能之 Jav...

  • 前端性能 优化 大全

    js性能小贴士——优化循环 前端网页与js性能优化 我总结的js性能优化的小知识 提高 web 应用性能之 Jav...

  • Nginx+Tomcat集群环境搭建

    Tomcat集群能带来什么? 提高服务的性能、并发能力、以及高可用性 提高项目架构的横向扩展能力 提高服务的性能 ...

  • python中的epoll

    epoll是对select、poll模型的改进,提高了网络编程的性能,广泛应用于大规模并发请求的C/S架构中。 原...

  • Android Jetpack组件的新特性

    Jetpack 在三个主要领域的更新: 架构库及指南; 应用的性能优化; 用户界面库及指南。 其他关键更新的总结。...

  • Redis相关

    一 目前主流应用的架构实现草图   该应用架构是最常见的应用架构,一般为了提升性能,都会在中间添加一个缓存层,当客...

  • RLMZ基本框架浅谈

    文章参照了《iOS应用架构谈》,对比自己的项目进行了总结。会持续修改,感谢《iOS应用架构谈》的作者。 RLMZi...

  • 大型网站系统架构图

    安全架构 核心架构要素 高性能架构 高可用架构 伸缩性架构 可拓展性架构 * 前言 前端架构 应用层架构 安全架构...

网友评论

本文标题:提高自己应用性能的总结架构篇

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