起因:卡乐付项目中碰到一个问题:卡乐付调用系统拍照,拍照完后,无法返回---------卡乐付应用程序在拍照的时候被杀死。原因:手机在低内存的时候,系统会按照进程的优先级进行回收进程,来释放更多内存。这个时候,卡乐付被回收。(通过 logcat ActivityManager:v *:s命令可以看到...
分类:
其他好文 时间:
2014-09-22 17:01:02
阅读次数:
168
一.OC的内存管理的过程OC为每个对象提供一个内部计数器,这个计数器跟踪对象的引用计数,当对象被创建或拷贝时,引用计数为1,每次保持对象时,调用retain接口,引用计数加1,如果不需要这个对象时调用release,引用计数减1,当对像的引用计数为0时,系统就会释放掉这块内存,释..
分类:
其他好文 时间:
2014-09-22 12:43:22
阅读次数:
173
一.OC的内存管理的过程OC为每个对象提供一个内部计数器,这个计数器跟踪对象的引用计数,当对象被创建或拷贝时,引用计数为1,每次保持对象时,调用retain接口,引用计数加1,如果不需要这个对象时调用release,引用计数减1,当对像的引用计数为0时,系统就会释放掉这块内存,释..
分类:
其他好文 时间:
2014-09-22 11:54:02
阅读次数:
225
资源管理一直是C++被其他语言(例如Java)诟病的地方。不可否认,垃圾回收是更为先进而且便捷有效的管理资源的手段,并且由于其内在的算法改进,它的速度和效率也在逐步提升。但是,毕竟垃圾回收使得程序员离系统内部又远了一步,不但使得程序员对程序内部发生的事情更加不了解(这也是我学了Java却不喜欢使.....
分类:
编程语言 时间:
2014-09-22 02:01:51
阅读次数:
135
PID:为Process Identifier, PID就是各进程的身份标识,程序一运行系统就会自动分配给进程一个独一无二的PID。进程中止后PID被系统回收,可能会被继续分配给新运行的程序,但是在android系统中一般不会把已经kill掉的进程ID重新分配给新的进程,新产生进程的进程号,一般比产...
分类:
移动开发 时间:
2014-09-22 00:46:21
阅读次数:
243
前言
在segmentfault上看到一个问题:java有完善的GC机制,那么在java中是否会出现内存泄漏的问题,以及能否给出一个内存泄漏的案例。本问题视图给出此问题的完整答案。
垃圾回收机制简介
在程序运行过程中,每创建一个对象都会被分配一定的内存用以存储对象数据。如果只是不停的分配内存,那么程序迟早面临内存不足的问题。所以在任何语言中,都会有一个内存...
分类:
编程语言 时间:
2014-09-21 22:35:41
阅读次数:
347
我们知道java语言提供了4种引用类型:强引用、软引用(SoftReference)、弱引用(WeakReference)和幽灵引用(PhantomReference),与引用密切相关的,还有一个引用队列ReferenceQueue。引用和引用队列的关系,对于垃圾回收来说非常重要,学习垃圾回收机制,必须要先了解引用和引用队列的使用方法。本文主要参考网上的一些理论,同时配合自己的一些测试代码,更好的理解这些概念,也解决了之前博客中遗留的问题。...
分类:
编程语言 时间:
2014-09-21 21:21:11
阅读次数:
403
本系列作为Java Performance:The Definitive Guide的读书笔记。
概览
在目前的JVM中,主要有4中垃圾回收器(Garbage Collector):
串行回收器(Serial Collector),主要用于单核计算机吞吐量(并行)回收器(Throughput/Parallel Collector)并发回收器(Concurrent/CMS Co...
分类:
编程语言 时间:
2014-09-21 18:47:50
阅读次数:
224
在讨论如何回收堆外内存的时候,提到“NIO中direct memory的释放并不是通过finalize(),因为finalize不安全而且影响能”。Effective Java一书中也提到:Avoid Finalizers。人都有潜在的叛逆意识,别人给的结论或者制定的规范,除非有足够的理由说服你,除非懂得这么做背后的原因,否则只能是死记硬背,没有形象深入的理解,不能学到真正的东西。本文通过自己的理解和一些实际的例子,和大家一起更形象的理解finalize。还是那句经典的话“talking is cheap,...
分类:
编程语言 时间:
2014-09-21 18:46:11
阅读次数:
322
章节安排内存管理简介垃圾回收机制性能问题C#下非托管资源的处理要强调的几点References内存管理简介 对于任何一种编程语言,内存管理都是不得不提很重要的一块内容,但可惜的是目前为止没有任何一种编程语言对内存管理处理的非常完美,每种语言都在兼顾性能 效率,语法语义易用性等方面折中中有所侧重。例如...
分类:
其他好文 时间:
2014-09-21 14:33:00
阅读次数:
253