【参考】 http://zh.wikipedia.org/wiki/引用计数 (引用计数——维基百科) http://cn.cocos2d-x.org/tutorial/show?id=2300 (引用计数和自动释放池) http://cn.cocos2d-x.org/tutorial/show?i ...
分类:
其他好文 时间:
2017-04-11 16:45:23
阅读次数:
235
Java把内存划分成两种:一种是栈内存,另一种是堆内存。在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配,当在一段代码块定义一个变量时,Java就在栈中为这个变量分配内存空间,当超过变量的作用域后,Java 会自动释放掉为该变量分配的内存空间,该内存空间可以立即被另作它用。 ...
分类:
编程语言 时间:
2017-04-11 14:40:32
阅读次数:
213
RunLoop 是 iOS 和 OS X 开发中非常基础的一个概念,这篇文章将从 CFRunLoop 的源码入手,介绍 RunLoop 的概念以及底层实现原理。之后会介绍一下在 iOS 中,苹果是如何利用 RunLoop 实现自动释放池、延迟回调、触摸事件、屏幕刷新等功能的。 目录 RunLoop ...
分类:
移动开发 时间:
2017-03-22 16:14:52
阅读次数:
305
// strong 强指针 // weak 弱指针 // ARC, 只要对象没有强指针就会自动释放 // OC中默认都是强指针 ...
分类:
移动开发 时间:
2017-03-22 15:07:49
阅读次数:
197
Fresco是Facebook最新推出的一款用于Android应用中展示图片的强大图片库,可以从网络、本地存储和本地资源中加载图片。其中的Drawees可以显示占位符,直到图片加载完成。而当图片从屏幕上消失时,会自动释放内存。 Fresco是Facebook开源Android平台上一个强大的图片加载 ...
分类:
移动开发 时间:
2017-03-17 18:46:50
阅读次数:
317
1.auto_ptr 和 scoped_ptr 的异同 a 和 s 都是通过析构函数去 delete T* 实现自动释放内存。a 可以转移所有权,但是 s 不可以 2. scoped_array sa 管理 new [] 分配的内存,析构时使用delete [] 因为 sa 不能动态增长,没有ite ...
分类:
其他好文 时间:
2017-03-15 18:52:01
阅读次数:
155
Objective-C的对象在内存中是以堆的方式分配空间的,并且堆内存是由你释放的,即release 栈由编译器管理自动释放的,在方法中(函数体)定义的变量通常是在栈内,因此如果你的变量要跨函数的话就需要将其定义为成员变量。 1.栈区(stack):由编译器自动分配释放,存放函数的参数值,局部变量等 ...
分类:
移动开发 时间:
2017-03-06 11:56:48
阅读次数:
249
ADO.Net 连接数据库 1.是c#操作数据库的类库 保证数据的完整性,一致性,安全性 连接字符串:就是对我们的连接进行设的字符串 如果.连不上,127.0.0.1可以连上就是tcp服务没有开启 sqlcommand简单操作 using(){} 利用using可以在{}内容执行完之后自动释放 ...
分类:
Web程序 时间:
2017-03-05 23:21:49
阅读次数:
232
1. 垃圾回收的意义 在C++中,对象所占的内存在程序结束运行之前一直被占用,在明确释放之前不能分配给其它对象;而在Java中,当没有对象引用指向原先分配给某个对象的内存时,该内存便成为垃圾。JVM的一个系统级线程会自动释放该内存块。垃圾回收意味着程序不再需要的对象是"无用信息",这些信息将被丢弃。 ...
分类:
编程语言 时间:
2017-03-01 00:27:59
阅读次数:
287
堆 栈和内存映射 每个线程都有自己的专属栈,先进后出栈的最多尺寸固定,超出则引起栈溢出一个线程 一个栈,多个线程多个栈。变量离开作用域范围后,栈上的数据会自动释放堆上的内存必须手动释放,除非语言执行环境支持GC怎么选择栈还是堆? 明确知道数据占用多少内存数据很小大量内存不确定需要多少内存 code ...
分类:
其他好文 时间:
2017-02-26 22:34:29
阅读次数:
209