Objective-C基本的性能优化,理解性东西,

1.iOS缓存方案?

<1>网络优先:开始总是从网络获取,如果获取失败,从本地获取。

<2>本地优先:在一段时间内从本地获取,当超过这个时间,然后重新请求网络数据。

<3>混合(智能):打开程序先从本地获取展示,然后请求数据,请求完成后刷新界面。

2.iOS性能优化?

提示:

<1>视图复用

<2>数据缓存

<3>不能堵塞主线程

<4>响应时间短

<5>多个下载控制并发数

<6>用arc管理内存

<7>正确使用集合(NSArray,NSDictionary,NSSet,NSIndexSet)

<8>懒加载

<9>重用大开销对象(NSDateFormatter,NSCalendar)

<10>选中合适的数据存储

<11>加速启动时间

<12>合适的地方使用自动释放池

<13>避免循环引用

<14>当涉及到定位的时候,不用的时候把定位服务关闭。

<15>加锁对性能有重大开销

<16>界面最好不要添加太多subView

3.如何保证tableView平滑滚动?

提示:

<1>cell复用

<2>Cell尽量避免添加过多的子视图

<3>缓存行高

<4>如果cell的内容来自网络,需要异步加载,并且缓存请求结果

<5>cell上尽量避免复杂计算。

<6>尽量不使用cellForRowAtIndexPath,如果需要使用,只用一次然后缓存结果。

<7>使用不透明的视图(opaque)

<8>不要堵塞主线程

<9>尽量不要对cell的子视图频繁添加、删除操作。

C语言 跟oc的关联

结构体:不同数据类型的一种封装,在oc里全部都是用make来赋值的!这是一个方向!

OC

类:(结构体+函数),类是一类事物,是某一类对象的一个抽象。

父类:所有子类都具备的特性(属性和方法),可以封装成父类

类别、拓展(对现有一些类的一些补救措施)

数据存储的整理

内存中保存:数组、字典、字符串、类、各种对象、

特点:程序运行期间有效。

内存结构:栈段、堆段、数据段、代码段

栈段:函数中的参数和局部变量,操作系统自动开辟和自动释放

数据段:static、const声明周期是整个程序运行期间

硬盘(沙河):在安装一个app的时候,它的位置是有iOS执行的,不可修改,这个文件夹的系统全系,也是系统指定的。大小不定,权限不变。

归解档、文件操作、数据库、coreData、NSUserDefault、Plist

协议跟Bolck的基本原理!

他们都是在占空间的,是系统给我们封装好的一个工具 而已。。别想多了。。!他们都是数据类型。。!

MVC的理解

M是模型数据,负责资源的供给。。

V是负责前线打仗的。

C是指挥官。指挥怎么做。。!这就是设计模式!

自定义的View

一个方法被重复调用的时候,要清空前一个的东西,要干干净净的!

独立出相同功能的东西。。!

自定义控件的理解,以及思路,其实很简单的,不管是什么控件,你只要单独把他看成一个对象,对象里面有进去的东西也有出来的东西,如果你要用我就self我,我长出来什么样子我已经写死了,你就给我弄东西就可以了,,!控制器找对象!对象长什么样子,就看你有什么属性了!还要记得系统给对象的属性就ok了,这就是思想。。!

C语言中的封装:

数组:相同数据类型的封装

结构体:不同数据类型的一种封装

函数:单一功能逻辑的封装

OC中封装:

类:(结构体+函数),类是一类事物,是某一类对象的一个抽象。

对象:

龙生九子,子子不同。

同类的子类可以多样化

父类:所有子类都具备的特性(属性和方法),可以封装成父类

子类:本类所特有的一些特性,可以在子类中添加

面向对象语言:使用面向对象的思想指导使用面向对象的语言,编写面向对象的程序。

生活逻辑的反应——>如何创建对象

类别、拓展(对现有一些类的一些补救措施)

第三方的一些框架:

继承:在现有属性和方法的基础之上,需要额外添加特有的属性和方法,可以使用。

普通的数据类和逻辑类,页面、协议、block

多态:父类指针来接收子类对象

2、数据存储的整理

程序:保存数据和处理数据

内存中保存:数组、字典、字符串、类、各种对象、

特点:程序运行期间有效。

内存结构:栈段、堆段、数据段、代码段

栈段:函数中的参数和局部变量,操作系统自动开辟和自动释放

堆段:alloc,CF、

数据段:static、const声明周期是整个程序运行期间

代码段:程序代码编译后的二进制文件

硬盘(沙河):在安装一个app的时候,它的位置是有iOS执行的,不可修改,这个文件夹的系统全系,也是系统指定的。大小不定,权限不变。

归解档、文件操作、数据库、coreData、NSUserDefault、Plist

    原文作者:HotRay
    原文地址: https://www.jianshu.com/p/069c06b023fc
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞