随笔分类 - iOS中的笔记
摘要:隐私清单: <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><pli
阅读全文
摘要:一、SDK打包引入外边的文件 添加外边项目引入包的路径 /Users/renhao/Desktop/安硕/Project/AE-SDK/td-ios-sdk/ReleaseResources/TalkingDataSDKDemo/TDEncrypt/CocoaSecurity /Users/renh
阅读全文
摘要:问题:安装cocoapods 报SSL证书的问题,如下错误 ``` ERROR: SSL verification error at depth 2: self-signed certificate in certificate chain (19) ERROR: Root certificate
阅读全文
摘要:静态库和动态库的区别 1、 形式上 静态库是.a 和 .framework。 动态库是.dylib和 .framework ,xcode8 为.tbd ,本质是.dylib 2、使用上: 静态库,链接时,会被完整的复制到可执行文件中,如果多个APP 使用了同一个静态库,就会有多次拷贝,会占用更多的内
阅读全文
摘要:weak指针的实现原理 也就是,weak指针指向对象销毁的时候,weak指针怎么做到变为nil的。 Runtime维护了一个weak表,用于存储指向某个对象的所有weak指针。weak表其实是一个Hash(哈希)表, Key是所指对象的地址,Value是weak指针的地址(这个地址的值是所指对象的地
阅读全文
摘要:在64位中,引用计数可以直接存储在优化过的isa指针中,也可能存储在SideTable类中。 在isa里面,有一个extra_rc参数 其中:rc就是retainCount引用计数的意思。 则has_sidetable_rc=1,引用计数器会存储在一个名为SideTable的类的属性中。 struc
阅读全文
摘要:前言: Automatic Reference Counting,自动引用计数,即 ARC,WWDC 2011 和 iOS 5 所引入的最大的变革和最激动人心的变化。ARC 是新的 LLVM 3.0 编译器的一项特性,使用 ARC,可以说一 举解决了广大 iOS 开发者所憎恨的手动内存管理的麻烦
阅读全文
摘要:前言: 在iOS中,使用引用计数来管理OC对象内存 一个新创建的OC对象引用计数默认是1,当引用计数减为0,OC对象就会销毁,释放其占用的内存空间。 调用retain会让OC对象的引用计数+1,调用release会让OC对象的引用计数-1。 内存管理的经验总结 当调用alloc、new、copy、m
阅读全文
摘要:前言: 从64位开始,iOS引入了Tagged Pointer技术,用于优化NSNumber、NSDate、NSString等小对象的存储。 Tagged Pointer主要为了解决两个问题: 内存资源浪费,堆区需要额外的开辟空间 访问效率,每次set/get都需要访问堆区,浪费时间, 而且需要
阅读全文
摘要:数据存储策略 在 iOS 应用程序中,从 “数据缓冲在哪里” 这个纬度看,缓冲一般分两种类型。 内存缓冲 磁盘缓冲 内存缓冲是将数据缓冲在内存中,供应用程序直接读取和使用。优点是读取速度快。缺点是由于内存资源有限,应用程序在系统中申请的内存,会随着应用生命周期结束而被释放,会导致内存中的数据
阅读全文
摘要:前言:CADisplayLink、NSTimer 不准时 CADisplayLink、NSTimer是基于RunLoop机制的,如果RunLoop的任务过于繁重,有可能会导致前两个定时器不准时。 举个例子: 加入我们创建了一个NSTimer定时器,每1秒钟做任务。那么,什么时候执行NSTim
阅读全文
摘要:前言:CADisplayLink、NSTimer 循环引用问题 CADisplayLink、NSTimer会对Target产生强引用,如果target又对他们产生强引用,那么就会引发循环引用。 @interface ViewController () @property (nonatomic,
阅读全文
摘要:一、iOS 图片资源放在 Images.xcassets 和单独文件夹的区别 Images.xcassets (1)图片的资源包放到 Images.xcassets 中,会把所有的文件打包 Assets.car文件,图片会被压缩,从而使包的体积变小。 (2)只支持png格式的图片 (3)图片只支持
阅读全文
摘要:一、国密算法的背景 1、国家密码管理局 1、密码算法是保障信息安全的核心技术,尤其是我国最关键的银行业核心领域长期以来都是沿用MD5、SHA-256、3DES、AES、RSA等这些国际通用的密码算法体系及相关标准。随着计算机性能提升,原本被认为安全的加密算法,也越来越容易破解。 •1997年
阅读全文
摘要:问题:在 Xcode 中每次 Run, Library 目录就会改变,就像重新安装了一个 APP 一样? // 获取 Library 路径 NSString *filepath = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NS
阅读全文
摘要:开局先来几道面试题: 讲讲MVC、MVVM、MVP几种设计模式,以及你在项目里面具体是怎么写的 你自己用过哪些设计模式 一般开始做一个项目,你的架构是如何思考的 架构 架构(architecture) 软件开发中的设计方案 架构可大可小,类与类之间的关系、模块与模块之间的关系、客户端与服务端的关系都
阅读全文
摘要:开局几道面试题: 你在项目中是怎么优化内存的? 优化你是从哪几方面入手? 列表卡顿的原因有哪些?你平时是怎么优化的? 遇到tableView卡顿吗?会造成卡顿的原因大致有哪些? CPU和GPU 在屏幕成像过程中,CPU和GPU起着至关重要的作用 CPU(central processing unit
阅读全文
摘要:iOS程序的内存布局 简而言之,就是一张图: 当然,一般我们也可以把内存分为五大区域: 方法区(程序代码区)、常量区、静态区(全局区)、堆、栈 可以看出,上图中的数据段包含了五大区域中的常量区和静态区。 其实质是一样的,只是叫法不一样。 内存五大区更多学习 从打印结果来看,相同的字符串是同一个地址。
阅读全文
摘要:OC对象的内存管理 在iOS中,使用引用计数来管理OC对象内存。 一个新创建的OC对象引用计数默认是1,当引用计数减为0,OC对象就会销毁,释放其占用的内存空间。 调用retain会让OC对象的引用计数+1,调用release会让OC对象的引用计数-1。 内存管理的经验总结 当调用alloc、new
阅读全文
摘要:开局几道面试题: 使用CADisplayLink、NSTimer有什么注意点 介绍下内存的几大区域 讲一下你对iOS内存管理的理解 ARC帮我们做了什么? weak指针的实现原理 autorelease对象在什么时机会被调用release 方法里面有局部变量,出了方法后会立即释放吗? 小伙伴,你能答
阅读全文