
内存管理
bravegogo
知行合一,积学养气
展开
-
ARC下OC对象和CF对象之间的桥接(bridge)
在开发iOS应用程序时我们有时会用到Core Foundation对象简称CF,例如Core Graphics、Core Text,并且我们可能需要将CF对象和OC对象进行互相转化,我们知道,ARC环境下编译器不会自动管理CF对象的内存,所以当我们创建了一个CF对象以后就需要我们使用CFRelease将其手动释放,那么CF和OC相互转化的时候该如何管理内存呢?答案就是我们在需要时可以使用__bri原创 2016-03-02 19:20:29 · 618 阅读 · 0 评论 -
7篇文章 弄清 OC-对象的内存
1.内存区域栈:存储局部变量 堆:允许程序员手动在堆区申请指定的连续的字节数的空间来使用 BSS段:存储未初始化的全局变量,静态变量 数据段:存储已经初始化的全局变量,静态变量,常量数据 代码段:存储程序的代码2.类加载类加载:当类第一次被访问的时候,会将类存储在代码段中。一旦类被加载到代码区,直到程序结束的时候才会被回收 参考:OC基础-06 对象在内存中的存储细节http://blog.c...原创 2018-05-23 17:54:09 · 473 阅读 · 0 评论 -
ios 整型 位数
32位 sizeof(NSInteger)=4 sizeof(long long) = 8 64位 sizeof(NSInteger)=8 sizeof(long long) = 8原创 2017-08-25 13:17:18 · 748 阅读 · 0 评论 -
系统知识汇总
认真分析mmap:是什么 为什么 怎么用 http://www.cnblogs.com/huxiao-tee/p/4660352.html 从内核文件系统看文件读写过程 http://www.cnblogs.com/huxiao-tee/p/4657851.html原创 2017-07-21 15:10:06 · 267 阅读 · 0 评论 -
OSATOMIC与synchronized 加锁的对比
(转: http://blog.youkuaiyun.com/a21064346/article/details/8076972) #import 导入这个文件,可以调用里面的函数,来保证变量的数值。 /*! @header * These are the preferred versions of the atomic andsynchroniz转载 2016-04-26 14:40:26 · 393 阅读 · 0 评论 -
copy与mutableCopy
记住: 1.对于容器类本身,与非容器类对象的结论相同,即 如果对一不可变对象复制,copy是指针复制(浅拷贝)和mutableCopy就是对象复制(深拷贝)。 如果是对可变对象复制,都是深拷贝,但是copy返回的对象是不可变的。 关键要注意的是复制后容器内对象的变化,比如添加、删除元素,修改某个元素的值。 2.对于容器而言,其元素对象始终是指针复制。如果需要元素对象也转载 2016-03-05 15:10:17 · 702 阅读 · 1 评论 -
OC对象的内存销毁步骤
General Information We take advantage of the documented Deallocation Timeline (WWDC 2011, Session 322, 36:22). 1. -release to zero * Object is now deallocating and will die. * New __we原创 2016-03-23 19:24:27 · 5230 阅读 · 0 评论 -
黑幕背后的Autorelease
黑幕背后的Autorelease 我是前言 Autorelease机制是iOS开发者管理对象内存的好伙伴,MRC中,调用[obj autorelease]来延迟内存的释放是一件简单自然的事,ARC下,我们甚至可以完全不知道Autorelease就能管理好内存。而在这背后,objc和编译器都帮我们做了哪些事呢,它们是如何协作来正确管理内存的呢?刨根问底,一起来探究下黑幕背后的Au转载 2016-02-19 19:35:24 · 384 阅读 · 0 评论 -
iOS 集合的深复制与浅复制
概念 对象拷贝有两种方式:浅复制和深复制。顾名思义,浅复制,并不拷贝对象本身,仅仅是拷贝指向对象的指针;深复制是直接拷贝整个对象内存到另一块内存中。 一图以蔽之 再简单些说:浅复制就是指针拷贝;深复制就是内容拷贝。 集合的浅复制 (shallow copy) 集合的浅复制有非常多种方法。当你进行浅复制时,会向原始的集合发送retain消息,引用计数转载 2016-03-05 15:11:45 · 295 阅读 · 0 评论 -
Objective-C 和 Core Foundation 对象相互转换的内存管理总结
iOS允许Objective-C 和 Core Foundation 对象之间可以轻松的转换,拿 NSString 和 CFStringRef 来说,直接转换豪无压力: [cpp] view plain copy print? CFStringRef aCFString = (CFStringRef)aNSString; NSString转载 2016-03-02 19:30:08 · 288 阅读 · 0 评论 -
UIWebView缓存清理
UIWebView缓存清理的方式https://stackoverflow.com/questions/2523435/how-to-clear-uiwebview-cacheif (lastReq){ [[NSURLCache sharedURLCache] removeCachedResponseForRequest:lastReq]; [[NSURLCache sharedU...原创 2018-07-10 19:09:29 · 335 阅读 · 0 评论