MRC — 手动管理内存 1.1 内存引用平衡原则 1) 如果使用alloc,new开头,或者是copy(复制一个对象)来创建一个对象,意味着你拥有这个对象的所有权。这个对象的引用计数器初始值为1(也有可能>1)。 2) 如果你拥有这个对象的所有权,在不使用此对象时,就有责任向对象发送release ...
分类:
移动开发 时间:
2017-02-22 12:46:20
阅读次数:
178
iOS属性及属性关键字 一、属性功能:1.给现有的成员变量生成一对setter/getter方法。2.如果没有声明成员变量,自动声明一个_属性名的私有变量(默认的成员变量是受保护的)。 二、属性关键字:assign 默认(缺省)关键字,基本数据类型的赋值。MRC:手动管理内存retain 对象的属性 ...
分类:
移动开发 时间:
2017-02-18 23:02:58
阅读次数:
412
一、通讯录 iOS中的通讯录是存储在数据库中的,由于iOS的权限设计,开发人员是不允许直接访问通讯录数据库的,实现通讯录操作需要使用到AddressBook.framework框架。 可以从底层去操作通讯录的所有信息,做到精确控制 是基于C语言编写的,无法使用ARC管理内存,需要开发者手动管理内存 ...
分类:
移动开发 时间:
2016-11-16 15:25:39
阅读次数:
362
转载:http://www.jianshu.com/p/9fb0a795da93 1. Android中的内存 1.1 Android中的垃圾回收机制 Android 平台最吸引开发者的一个特性:有垃圾回收机制,无需手动管理内存,Android 系统会自动跟踪所有的对象,并释放那些不再被使用的对象 ...
分类:
移动开发 时间:
2016-11-05 02:35:47
阅读次数:
260
iOS 5.0之后apple引入了Xcode编译器特性ARC(Automatic Reference Counting,自动引用计数)来帮助开发者管理内存,但为了追求app的高性能与减少安装包大小,工作中很多时候需要我们手动管理内存。再牛的开发者也不能保证自己写的code 100%没有内存泄露,出现 ...
分类:
其他好文 时间:
2016-06-18 22:37:23
阅读次数:
239
1. 在MRC下,当对象的应用计数器为0的时候,系统会自动调用dealooc方法来销毁对象 在ARC下,当对象没有强指针指向的时候,对象才会被销毁 2. MRC下内存管理原则:谁申请,谁释放 3. ARC下不需要我们手动管理内存,编译器在编译的过程中会在适当的位置插入合适的内存管理代码 ...
分类:
其他好文 时间:
2016-06-10 12:28:01
阅读次数:
111
想解决内存泄露问题,必须知道什么是内存泄露,什么情况下出现内存泄露,才能在遇到问题时,逐个排除。这里只讨论那些不经意间的内存泄露。 一、什么是内存泄露 内存泄露是指一块被分配的内存既不能使用,又不能回收,直到浏览器进程结束。在C++中,因为是手动管理内存,内存泄露是经常出现的事情。而现在流行的C#和 ...
分类:
Web程序 时间:
2016-06-08 01:32:27
阅读次数:
204
转:http://blog.csdn.net/duxinfeng2010/article/details/8709697 实践总结:-fno-objc-arc 设置 解决了 旧代码中存在 release autorelease retain 等手动管理内存代码的错误. Xcode4.2(iOS 5) ...
分类:
其他好文 时间:
2016-05-27 23:26:38
阅读次数:
238
一、简介 ARC是自iOS 5之后增加的新特性,完全消除了手动管理内存的烦琐,编译器会自动在适当的地方插入适当的retain、release、autorelease语句。你不再需要担心内存管理,因为编译器为你处理了一切 注意:ARC 是编译器特性,而不是 iOS 运行时特性(除了weak指针系统), ...
分类:
其他好文 时间:
2016-05-25 18:36:47
阅读次数:
183
内存管理垃圾回收机制1、什么是垃圾回收机制?
(1)垃圾回收器负责回收程序中已经不再使用,但是仍然被各种对象占用的内存。
(2)无需手动管理内存,android系统会自动跟踪所有的对象,并释放那些不再被使用的对象。
缺点:垃圾回收机制是一把双刃剑,在提高程序员工作效率的同时,会对应用程序的性能造成影响,严重的会是应用程序卡顿等。
峰值后占用内存减少,是系统进行了一次垃圾回收。...
分类:
其他好文 时间:
2016-05-12 13:18:05
阅读次数:
121