看到此篇文章,就当作你已经学习好了面向对象的基本。
我们现在要介绍的是oc 关于内存的一系列介绍。
之前你也看到在第一片文章中。@@autoreleasepool
这个是在Xcode4.2及之后的版本中由于引入了ARC(Automatic Reference Counting)机制,
程序编译时Xcode可以自动给你的代码添加内存释放代码
但是在ObjC中没有垃圾回...
分类:
其他好文 时间:
2014-12-22 22:47:30
阅读次数:
227
动态内存分配策略:1,从高地址分配不理会已分配给用户内存是否有空闲。直到无法分配位置。系统才去回收用户不能使用的空闲块,并且重新组织内存。2,另一种是用户一旦运行结束,将它占用的内存释放到空闲块。有新请求时,巡视空闲块,找到一个“合适”的分配之。可利用空间表分配方法2种结构(目录表,链表),目录表起...
分类:
其他好文 时间:
2014-11-30 21:23:36
阅读次数:
243
ActivityManagerServiceActivityManagerService(简称:AMS)管理着应用程序中创建的所有组件(Activity、Service等),每个组件的信息与组件对应的进程信息都在管理范围内,包括内存释放潜规则。为了实现组件的管理,每个组件的状态变化都需要通知AMS,组件间的跨进程通信(IPC)..
分类:
移动开发 时间:
2014-11-30 00:55:29
阅读次数:
260
什么是数据持久化?数据的永久存储
为什么要坐数据持久化:存储在内存中的数据,程序关闭,内存释放,数据丢失,这种数据是临时的
数据初九化的本质:数据保存成文件,存储到程序的沙河中
1.沙盒机制
每个应用程序位于文件系统的严格限制部分
每个应用程序只能在为该程序创建的文件系统中读取文件
每个应用程序在IOS系统内都放在了统一的文件夹目录下
沙盒的本质就是一个文件夹,名字是随机分配的.
...
分类:
移动开发 时间:
2014-11-19 22:23:46
阅读次数:
266
一、nil我们给对象赋值时候,一般会使用object=nil标示我向吧这个对象释放掉:或者对象由于某种原因,经过多次release,于是对象引用计数器为0了,系统将这块内存释放掉,这个时候这个对象为nil,我们称它为“空对象”。(注意:我们这里强调的是“空对象”,下面我们会拿他和..
分类:
其他好文 时间:
2014-11-19 02:06:13
阅读次数:
178
#include<stdio.h>#include<malloc.h>voidf(int*q){ *q=100;// free(q);//把q指向的内存释放掉}intmain(void){ int*p=(int*)malloc(sizeof(int));//sizeof的返回值是int所占的字节数4,并将4个字节中第一个字节的地址赋值给p *p=10; printf("%d\n",*p);//结果是:1..
分类:
其他好文 时间:
2014-11-17 06:59:57
阅读次数:
129
OC:内存管理,关闭ARC,改造release,allco函数实现自动内存释放...
分类:
其他好文 时间:
2014-11-16 17:26:58
阅读次数:
221
定义的属性,在赋值的时候最好使用setter方法,在取值的时候都可以,差别不大便利构造器的内存释放(便利构造器创建的对象不用释放内存,里面自带内存释放)第一种:第二种第三种:也是最常用最好的一种第四种:// 内存管理原则四 //谁污染谁治理,凡是你自己alloc,copy,retain的,需要你自己...
分类:
其他好文 时间:
2014-11-14 17:29:19
阅读次数:
274
管理员运行CMD命令,输入(直接复制粘贴)scconfigndustart=disabled,因为微软ndu驱动导致的内存泄漏。也有可能是虚拟机卸载不干净导致的。也可能是程序bug。仅供尝试,我当时卸载虚拟机后非页面缓冲池占用内存1.6G,开机内存直接占用50%,考虑重装系统还要装一大堆软件麻烦,..
分类:
系统相关 时间:
2014-11-07 19:14:03
阅读次数:
230