iOS APP耗电的来源与优化

耗电的主要来源: CPU处理,Processing 网络,Networking 定位,Location 图像,Graphics 耗电的优化: 尽可能降低CPU、GPU功耗 尽量减少定时器的使用 优化I/O操作 尽量不要频繁写入小数据,最好批量一次性写入 读写大量重要数据时,考虑用d...

2019-07-08 15:19:03

阅读数 7

评论数 0

iOS APP卡顿优化

卡顿解决的主要思路: 尽可能减少CPU、GPU资源消耗 尽量使用轻量级的对象,比如用不到事件处理的地方,可以考虑用CALayer取代UIView. 不要频繁的调用UIView的相关属性,比如frame、bounds、transform等属性,尽量减少不必要的修改。 尽量提前计算好布局,在有...

2019-07-08 14:53:09

阅读数 6

评论数 0

http + restful

1原理 1.1 简介 Http协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:WorldWide Web )服务器传输超文本到本地浏览器的传送协议。HTTP是一个基于TCP/IP通信协议来传递数据(HTML文件, 图片文件, 查询...

2019-06-13 17:34:29

阅读数 406

评论数 0

Block 的本质是什么

block是一个指针结构体,在终端下通过clang -rewrite-objc 指令看看C++代码。 #import <Foundation/Foundation.h> int main(int arc,const char *argv[]){ ...

2018-10-22 13:27:57

阅读数 365

评论数 0

设计模式(二):代理模式(委托模式)

代理模式 组成: 抽象角色:通过接口或者抽象类声明真实角色实现的业务方法 代理角色:实现抽象角色,是真实角色的代理,通过真实角色的业务逻辑方法来实现抽象方法,并可以附加自己的操作。 真实角色:实现抽象角色,定义真实角色所需要实现的业务逻辑,供代理角色调用 代理的基本作用 代理是一种通用的设计...

2018-10-16 17:45:33

阅读数 178

评论数 0

设计模式(一):单例模式

单例模式,是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中一个类只有一个实例。即一个类只有一个对象实例! 一.单例模式简介 1.单例模式的作用 可以保证在程序运行过程中,一个类只有一个实例,而且该实例易于供外界访问,从而方便的控制了实例个数,并...

2018-10-15 15:25:19

阅读数 48

评论数 0

算法(二):冒泡排序

冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。 它重复的走访过要排列的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来,走访数列的工作是重复的进行直到没有有再需要交换,也就是说该数列已经排序完成。 这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列...

2018-10-15 11:56:47

阅读数 53

评论数 0

算法(一):算法简介

算法简介 ● 什么是算法        ➢一系列的计算步骤,用来将输入数据转化成输出结果 ● 算法的意义        ➢用于解决特定的问题        ➢解决同一个问题的不同算法的效率常常相差非常大,这种差距的影响往往比硬件和软件方面的差距还要大 ● 比较常听到的较为简单的算法        ...

2018-10-15 10:51:00

阅读数 46

评论数 0

Runtime 常用场景(四)

1. Runtime 怎么添加属性、方法? * ivar 表示成员变量 * class_addIvar * class_addMethod * class_addProperty * class_addProtocol * class_replacePropeerty 2.Runtime 如何...

2018-09-30 16:11:00

阅读数 41

评论数 0

Runtime 与消息的关系(三)

一:简介 1.体会苹果官方文档中的 messages aren’t bound to method implementations until Runtime。消息直到运行时才会与方法实现进行绑定。

2018-09-27 15:53:36

阅读数 28

评论数 0

Runtime 相关术语(二)

一.Runtime相关术语 1.SEL 它是 selector 在 Objc 中的表示(swift 中是Selector 类)。selector是方法选择器,它的作用就和名字是一样的,在日常生活中,我们通过人名辨别谁是谁,注意 Objc 在相同类中不会有命名相同的两个方法。selector对方...

2018-09-27 12:00:23

阅读数 31

评论数 0

Runtime 基本介绍(一)

1.Runtime是什么 Runtime又叫运行时,是iOS内部核心之一,起底层实现是C语言,平时调用的活着编写的OC代码,底层基本都是基于Runtime实现的。比如: [rereiver message];底层运行时会被编译器自动转为:objc_msgSend(recveiver,selec...

2018-09-25 11:58:53

阅读数 288

评论数 0

iOS weak 实现原理

weak 关键字的作用弱引用,所引用对象的计数器不会加一,并在引用对象被释放的时候自动被设置为nil. 如何实现 weak 现在我们将 weak 的思路整理一下: 整个系统中存在很多个对象,这些对象都可能会被弱引用,那么我们需要一个容器来容纳这些被弱引用的对象,比如数组,在此将这...

2018-09-23 00:08:23

阅读数 144

评论数 0

iOS 容错处理机制

app开发过程中,我们可能遇到很多崩溃,都可以根据崩溃日志进行修复,但很多时候,一些不确定数据(服务端数据)可能会导致一些意外的崩溃,但对于一个好的应用来说,崩溃率是有严格限制的,因此,很多时候需要预防一些常见崩溃 1.数组越界------对于一个应用来说,数组的使用是很普遍的,而然很多时候,我...

2018-09-23 00:04:59

阅读数 427

评论数 0

UITableView delegate/dataSource方法执行顺序

第一轮:   1、numberOfSectionsInTableView    :假如section=2,此函数只执行一次,假如section=0,函数不执行,默认为1   2、heightForHeaderInSection  ,执行两次,此函数执行次数为section数目   3、...

2018-02-02 10:01:18

阅读数 396

评论数 0

Category 使用和优缺点

iOS 开发中,不可避免的用到Category 1、什么是Category? 分类就是对一个类的功能进行扩展,,让这个类能够适应不不同情况的需求.在一般的实际开发中,我们都会对系统的一些常用类进行扩展,比如,NSString,Button,Label等等,简单来说类别是一种为现有的类添加新方法...

2018-01-31 11:26:13

阅读数 4427

评论数 1

iOS 常见宏定义

OC中,使用一些宏定义能够减少代码,方便使用,以下为我项目中定义的宏 //通用颜色 #define JBlackColor [UIColor blackColor] #define JDarkGrayColor [UIColor darkGrayColor] #define...

2018-01-23 12:01:31

阅读数 342

评论数 0

copy,strong,retain,weak和assign的区别

前言:   在初学iOS的时候,对于用什么关键词去修饰property,知其然而不知其所以然,大家都这么用,就这么用,不知道其原理。后来慢慢了解,看了大量的博客和自己慢慢的总结,摘抄了部分我理解的博客内容,内容基本属于前人总结,自己手动写一遍也是为了加强自身理解。 在知道他们的区别之前,我们...

2018-01-22 11:43:40

阅读数 192

评论数 0

KVO、Notification、delegate、block 各自的优缺点,效率还有使用场景

KVO、Notification、delegate、block 各自的优缺点,效率还有使用场景 在开发iOS应用的时候,我们会经常遇到一个常见的问题:在不过分耦合的前提下,controllers间怎么进行通信。在iOS应用不断的出现三种模式以及一种回调来实现这种通信: 1.委托 delegat...

2018-01-17 14:50:08

阅读数 1359

评论数 0

怎么解决UITableView 滑动卡顿问题

1.最常用的就是cell的重用, 注册重用标识符 如果不重用cell时,每当一个cell显示到屏幕上时,就会重新创建一个新的cell如果有很多数据或者滚动cell的时候,就会堆积很多cell。如果重用cell,为cell创建一个ID每当需要显示cell 的时候,都会先去缓冲池中寻找可循环利用...

2018-01-15 13:05:13

阅读数 648

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭