摘要: 在Android中实用LRU+软引用(弱引用)的方法来缓存图片,可以减少内存溢出的情况。实现思路:在把图片保存到LRU集合中的时候,同时保存在一个弱引用的集合之中,如果此元素被LRU算法删除,可能垃圾回收器还并没有回收,可以通过弱引用的集合获取到此引用。publicLinkedHashMap(int initialCapacity, float loadFactor, boolean accessOrder);initialCapacity 初始容量loadFactor 加载因子,一般是 0.75faccessOrder false 基于插入顺序 true 基于访问顺序(get一个元素后,这个 阅读全文
posted @ 2012-12-04 18:23 OYK 阅读(2247) 评论(0) 推荐(0) 编辑
摘要: bundle字段这些字段名都是XML中的名称,在xcode的属性编辑器中,名字并不相同bundle目录中的属性列表详细描述了有关该bundle的信息。Finder和一些系统API在一些情况下会使用这些信息。bundle支持下列字段类型:Core Foundation字段–描述了bundle的综合属性Cocoa特定的字段–描述了和Cocoa有关的bundle的属性Finder特定的字段–描述了和Finder与文件系统有关的信息启动服务字段–描述了和启动服务有关的信息标准Bundle字段Mac OS X 为描述bundle的信息提供了一组核心字段。集成开发环境会赋予这些字段缺省值。表A-1列出了这 阅读全文
posted @ 2012-12-04 16:09 OYK 阅读(448) 评论(0) 推荐(0) 编辑
摘要: Afinal 是一个android的 orm 和 ioc 框架。而且封装了android中的httpClient,使其更加简单易用。使用finalBitmap,无需考虑bitmap在android中加载的时候oom的问题和快速滑动的时候图片加载位置错位等问题。Afinal的宗旨是简洁,快速。约定大于配置的方式。尽量一行代码完成所有事情。目前Afinal主要有四大模块:1、FinalDB模块:android中的orm框架,一行代码就可以进行增删改查。支持一对多,多对一等查询。2、FinalActivity模块:android中的ioc框架,完全注解方式就可以进行UI绑定和事件绑定。无需findV 阅读全文
posted @ 2012-12-04 15:53 OYK 阅读(1369) 评论(0) 推荐(0) 编辑
摘要: Run LoopsRun loops是线程相关的的基础框架的一部分。一个run loop就是一个事件处理的循环,用来不停的调度工作以及处理输入事件。使用run loop的目的是让你的线程在有工作的时候忙于工作,而没工作的时候处于休眠状态。Run loop的管理并不完全自动的。你仍然需要设计你的线程代码在合适的时候启动run loop并正确响应输入事件。Cocoa和Core Fundation都提供了run loop objects来帮助配置和管理你线程的run loop。你的应用程序不需要显式的创建这些对象(run loop objects);每个线程,包括程序的主线程都有与之对应的run l 阅读全文
posted @ 2012-12-04 15:16 OYK 阅读(739) 评论(0) 推荐(0) 编辑
摘要: 虽然iOS 5.0版本之后加入了ARC机制,但由于相互引用关系比较复杂时,内存泄露还是可能存在。所以了解原理很重要。这里讲述在没有ARC的情况下,如何使用Instruments来查找程序中的内存泄露,以及NSZombieEnabled设置的使用。本文假设你已经比较熟悉Obj-C的内存管理机制。实验的开发环境:XCode 4.5.21、运行Demo。先下载一个实现准备好的内存泄露的Demo吧:leak app下载下来,打开运行,程序是一个寿司的列表,列出各种寿司卷。试着选择里面的几行,应该是选第二行的时候就崩溃了。崩溃截图:在崩溃的地方断住了,知道crash的地方了,但是不知道具体crash的原 阅读全文
posted @ 2012-12-04 12:26 OYK 阅读(373) 评论(0) 推荐(0) 编辑
摘要: MacVim下载安装DownloadMacVim 7.3 (snapshot 64) for Mac OS X Lion. (Released Jan 2, 2012.)下载后得到MacVim-snapshot-64.tbz这个包里面有三个文件(MacVim、mvim、reader.txt)把MacVim.app放到你的应用程序也就是/Applications目录下PS:必须放到应用程序目录下,否则终端调用:mvim会找不到MacVim的可执行文件把mvim拷贝到/usr/bin/这个目录下$sudo cp -f mvim /usr/bin/终端就可以通过$ mvim 文件名来启动MacVim 阅读全文
posted @ 2012-12-04 01:43 OYK 阅读(32172) 评论(0) 推荐(1) 编辑