前言: 从事Android开发的同学都知道移动设备的内存使用是非常敏感的话题,今天我们来看下如何使用软引用与弱引用来优化内存使用。下面来理解几个概念。 1.StrongReference(强引用) 强引用是我们最最常见的一种,一般我们在代码中直接通过new出来的对象等,都是强引用,强引用只要存在没有 ...
分类:
移动开发 时间:
2016-10-20 09:51:29
阅读次数:
189
来源:冬瓜争做全栈瓜 链接:https://desgard.com/weak/ 对于 runtime 的分析还有很长的路,最近在写 block 系列的同时,也回顾一下之前疏漏的细节知识。这篇文章是关于 weak 的具体实现的学习笔记。 runtime 对 __weak 弱引用处理方式 切入主题,这里 ...
分类:
其他好文 时间:
2016-10-08 09:25:50
阅读次数:
1306
果然还是对最基础的知识了解不透彻,今天看一看iOS中的两个修饰符:__block和__weak 。也是做一下温习吧。 1、先说weak,<弱引用> 我们知道weak的使用,比如声明一个控件属性,就会用到weak。 看代码: 当然这并不是说声明控件就一定使用weak,相反的我在手动创建控件是大多数会使 ...
分类:
移动开发 时间:
2016-09-27 22:55:32
阅读次数:
288
面向过程:使用步骤划分功能,然后用函数一步一步的调用。 面向对象:OOP (Object Oriented Programming) 使用功能来简化问题。 面向对象语言 : C++、 Java、 C#。 重点概念: 对象、类、封装、继承、多态等等。 面向对象3大特征:封装、继承、多态。 封装的思想: ...
分类:
其他好文 时间:
2016-09-26 12:57:33
阅读次数:
113
根控制器没办法销毁,除非程序退出 从一个控制器跳到另外一个控制器,调用该控制器的pop方法才会销毁该控制器 self是一个强指针 在block中使用self时要注意循环引用的问题 最好将当前block中的self 强引用换成弱引用 如下图: ...
分类:
其他好文 时间:
2016-09-26 12:23:28
阅读次数:
120
背景:收到公众投稿,《从面试题中看Java的Reference(引用)》,分析的很不错,总感觉少了实际的例子和应用场景。于是结合自己工作中场景,小总结一下。看下Agenda如下:
1、强引用
2、软引...
分类:
移动开发 时间:
2016-09-24 21:58:51
阅读次数:
228
从今天起,开始接触Lua的标准库。一路走来,从最基本的变量、函数、迭代器、协同程序到稍微复杂的元表、元方法、环境、模块,以及最后被整蒙了的对象编程、继承、类、弱引用table、垃圾回收终结器。只要坚持下去,会慢慢吃透的! 数学库这一章讲的不多,更多详细介绍参考Lua手册。 math(数学)库由一组标 ...
分类:
其他好文 时间:
2016-09-20 12:14:09
阅读次数:
177
Lua采用了自动内存管理。所以不用担心新创建的对象需要的内存如何分配出来,也不用考虑对象不再被使用后怎样释放它们所占用的内存。 Lua实现了一个增量标记-扫描收集器。它使用这两个数字来控制垃圾收集循环:垃圾收集器间歇率 和 垃圾收集器步进倍率。 这两个数字都使用百分数为单位(例如:100在内部表示1 ...
分类:
其他好文 时间:
2016-09-19 12:47:37
阅读次数:
161
对于Java中的垃圾回收机制来说,对象是否被回收的标准在于该对象是否被引用。因此,引用也是JVM进行内存管理的一个重要概念。 Java中对象的引用一般有以下4种类型: 1强引用 2软引用 3弱引用 4虚引用 以下一一介绍其用法和区别 1强引用:在Java中最常见的就是强引用,把一个对象赋给一个引用变 ...
分类:
编程语言 时间:
2016-09-18 21:12:54
阅读次数:
155
Java 中有四种引用:强引用、软引用、弱引用、虚引用; 其主要区别在于垃圾回收时是否进行回收: 1.强引用 使用最普遍的引用。如果一个对象具有强引用,那就 类似于必不可少的生活用品,垃圾回收器绝不会回收它。当内存空 间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止 ...
分类:
编程语言 时间:
2016-09-15 16:37:28
阅读次数:
152