Flah Player的垃圾回收机制

垃圾回收是什么? “垃圾回收”指从内存中删除无用的对象(没有任何活跃引用的对象)。   垃圾回收的时机 在一个应用生命周期中,Flash Player 只在必要的时候才执行垃圾回收。 没有引用的一个对象并不会立即触发垃圾回收。因此,当你把一个对象的所有引用都删除时,垃圾回收也不一定释放它所占用的内存,但此时那个对象会被标记为垃圾回收的候选者。 典型的,垃圾回收在为新资源分配内存时触发。 当新资源需要的内存在当前配分中无效时,垃圾回收器会运行、释放那些被标记为可释放的内存。作为结果,即使你删除了一个对象的所有引用,它也不会被立即回收,但可能在其他的对象创建和使用时回收。 如果应用处于停顿状态,此时即使存在可回收的对象那么它也不会被回收,除非你继续与应用通信。 Flash Player 以块(很多字节)为单位分配内存,而不是一次一个字节。如果块的一部分标记为可回收但其他部分未被标记,那么此块对应的内存不会被释放。   Flash Player 采用以下方法判断对象是否存在引用 引用计数法 CPU开销小但不能检测到循环引用的情况 标记清除法 CPU开销大但检测准确   详细请参考: Garbage collection internals for Flash Player and Adobe AIR Understanding Memory Leaks in ActionScript (Adobe Flex)

Continue Reading

Flex4系列教程之十一 – 整合PureMVC(剧终)

本系列教程目标:使初学者了解富网络应用概念,理解并掌握以下四种架构方法。 1. Flex + BlazeDS + Spring(< 2.5.6) + iBATIS + Cairngorm 2. Flex + BlazeDS + Spring BlazeDS Integration + Spring(>= 2.5.6) + iBATIS + Cairngorm 3. Flex + BlazeDS + Spring(< 2.5.6) + iBATIS + pureMVC 4. Flex + BlazeDS + Spring BlazeDS Integration + Spring(>= 2.5.6) + iBATIS + pureMVC PureMVC? 概述 […]

Continue Reading

Flex4系列教程之十 – 整合Cairngorm2

本系列教程目标:使初学者了解富网络应用概念,理解并掌握以下四种架构方法。 1. Flex + BlazeDS + Spring(< 2.5.6) + iBATIS + Cairngorm 2. Flex + BlazeDS + Spring BlazeDS Integration + Spring(>= 2.5.6) + iBATIS + Cairngorm 3. Flex + BlazeDS + Spring(< 2.5.6) + iBATIS + pureMVC 4. Flex + BlazeDS + Spring BlazeDS Integration + Spring(>= 2.5.6) + iBATIS + pureMVC Cairngorm 2 […]

Continue Reading

Flex4系列教程之九 – 声明式事务

本系列教程目标:使初学者了解富网络应用概念,理解并掌握以下四种架构方法。 1. Flex + BlazeDS + Spring(< 2.5.6) + iBATIS + Cairngorm 2. Flex + BlazeDS + Spring BlazeDS Integration + Spring(>= 2.5.6) + iBATIS + Cairngorm 3. Flex + BlazeDS + Spring(< 2.5.6) + iBATIS + pureMVC 4. Flex + BlazeDS + Spring BlazeDS Integration + Spring(>= 2.5.6) + iBATIS + pureMVC 注意事项: 以下内容基于“Flex4系列教程之八”中最后形成的 […]

Continue Reading

Flex4系列教程之八 – 整合iBATIS 2.3

本系列教程目标:使初学者了解富网络应用概念,理解并掌握以下四种架构方法。 1. Flex + BlazeDS + Spring(< 2.5.6) + iBATIS + Cairngorm 2. Flex + BlazeDS + Spring BlazeDS Integration + Spring(>= 2.5.6) + iBATIS + Cairngorm 3. Flex + BlazeDS + Spring(< 2.5.6) + iBATIS + pureMVC 4. Flex + BlazeDS + Spring BlazeDS Integration + Spring(>= 2.5.6) + iBATIS + pureMVC 注意事项: 以下内容基于“Flex4系列教程之七”中最后形成的 […]

Continue Reading

Flex4系列教程之七 – 整合Flex,BlazeDS,Spring(>= 2.5.6)

本系列教程目标:使初学者了解富网络应用概念,理解并掌握以下四种架构方法。 1. Flex + BlazeDS + Spring(< 2.5.6) + iBATIS + Cairngorm 2. Flex + BlazeDS + Spring BlazeDS Integration + Spring(>= 2.5.6) + iBATIS + Cairngorm 3. Flex + BlazeDS + Spring(< 2.5.6) + iBATIS + pureMVC 4. Flex + BlazeDS + Spring BlazeDS Integration + Spring(>= 2.5.6) + iBATIS + pureMVC Spring BlazeDS […]

Continue Reading

Flex4系列教程之六 – 整合Flex,BlazeDS,Spring(< 2.5.6)

本系列教程目标:使初学者了解富网络应用概念,理解并掌握以下四种架构方法。 1. Flex + BlazeDS + Spring(< 2.5.6) + iBATIS + Cairngorm 2. Flex + BlazeDS + Spring BlazeDS Integration + Spring(>= 2.5.6) + iBATIS + Cairngorm 3. Flex + BlazeDS + Spring(< 2.5.6) + iBATIS + pureMVC 4. Flex + BlazeDS + Spring BlazeDS Integration + Spring(>= 2.5.6) + iBATIS + pureMVC 为什么 BlazeDS […]

Continue Reading

Flex4系列教程之五 – 构建Flex4为前端的Java EE项目

本系列教程目标:使初学者了解富网络应用概念,理解并掌握以下四种架构方法。 1. Flex + BlazeDS + Spring(< 2.5.6) + iBATIS + Cairngorm 2. Flex + BlazeDS + Spring BlazeDS Integration + Spring(>= 2.5.6) + iBATIS + Cairngorm 3. Flex + BlazeDS + Spring(< 2.5.6) + iBATIS + pureMVC 4. Flex + BlazeDS + Spring BlazeDS Integration + Spring(>= 2.5.6) + iBATIS + pureMVC 在继续本教程之前你需要准备好以下事项: 已安装 […]

Continue Reading

Flex4系列教程之四 – Flash Builder4

本系列教程目标:使初学者了解富网络应用概念,理解并掌握以下四种架构方法。 1. Flex + BlazeDS + Spring(< 2.5.6) + iBATIS + Cairngorm 2. Flex + BlazeDS + Spring BlazeDS Integration + Spring(>= 2.5.6) + iBATIS + Cairngorm 3. Flex + BlazeDS + Spring(< 2.5.6) + iBATIS + pureMVC 4. Flex + BlazeDS + Spring BlazeDS Integration + Spring(>= 2.5.6) + iBATIS + pureMVC Flash Builder4 […]

Continue Reading

Flex4系列教程之三 – 中间件BlazeDS

本系列教程目标:使初学者了解富网络应用概念,理解并掌握以下四种架构方法。 1. Flex + BlazeDS + Spring(< 2.5.6) + iBATIS + Cairngorm 2. Flex + BlazeDS + Spring BlazeDS Integration + Spring(>= 2.5.6) + iBATIS + Cairngorm 3. Flex + BlazeDS + Spring(< 2.5.6) + iBATIS + pureMVC 4. Flex + BlazeDS + Spring BlazeDS Integration + Spring(>= 2.5.6) + iBATIS + pureMVC 中间件是什么?为什么需要中间件? 上节中我们谈到 […]

Continue Reading