开源库 Block Tracker 学习

修改 selector IMP 映射来 hook 方法在开发中很常见,但是 hook 一个 block 实现以及使用场景都较为稀有。最近,腾讯星开源了一个 hook block 的方案 Block Tracker , 使用上看起来如下:

- (void)viewDidLoad {

[super viewDidLoad];

// Begin Track

BTTracker *tracker =......

导航栏切换库 KMNavigationBarTransition

通过导航栏来进行视图切换是 App 最基础的功能,除去定制 Custom Transition 以外,大部分都通过 push 以及 pop 来进行视图的入栈,出栈。

通常使用系统默认的展示方式没有什么问题,但是上下级视图的导航栏颜色不一致时,交互体验就不太友好,比如:

- (void)viewWillAppear:(BOOL)animated {

[super viewWillAppear......

Hello Bitcron

Github Page 需要自己配置模板

简书不支持个性域名而且样式也不尽人意

现在使用 Bitcron 来托管博客

希望搬了新家后自己能勤快些 = =

iOS 内存监控分析

概述

最近有在看一些内存监控开源库的实现,所以有做引用和总结。

这篇文章描述了关于内存监控知名开源库的一些实现思路,使用方式以及优缺点等。

FBMemoryProfiler循环引用

Objective-C 使用引用计数去管理内存和释放不使用的对象。内存中的任何一个对象都可以持有(retain)其他的对象,只要前面的对象需要它,对象就会一直保持在内存中。查看这个的一个方法是这个对象持有其他......

OpenGL ES 基础以及 iOS 设备渲染探究优化

客户端的开发,无非离不开数据和展示,而展示这个方面,首当其冲的就是视图、动画的渲染,切换等等。而且在用户的使用中,UI 是这个 APP 的门面,无论功能有多强大,体验不好也是无法留住用户的。

硬件图像显示的基本原理

设计模式笔记

今天把之前总结的设计模式笔记翻出来复习下,并发到 博客 上来。

对象相关原型模式

场景:

需要创建的对象应独立于其类型与创建方式

要实例化的类是在运行时决定的

不想要与产品层次相对应的工厂层次

不同类的实例间的差异仅是状态的若干组合。因此复制相应数量的原型比手工实例化更加方便。

类不容易创建,比如每个组件可把其他组件作为子节点的组合对象。复制已有的组合对象并对副本进行修改会更......