LKImageKit - 高性能图片框架


BSD
iOS
Objective-C

软件简介

LKImageKit
是腾讯开源的一个高性能的图片框架,包括了图片控件,图片下载、内存缓存、磁盘缓存、图片解码、图片处理等一系列能力。合理的架构和线程模型,并特别针对不同场景进行优化,能充分发挥硬件的性能。

该框架具有高度的扩展性。在此框架下,开发者可以自定义图片框架中的任何一个部分,比如:自定义图片显示逻辑、自定义缓存、自定义下载组件、自定义解码器、自定义图片处理算法等等。

该组件旨在提供 iOS 平台上使用最简单,功能最强大的高性能图片解决方案。

组件特性:

  1. 提供演示视频和 DEMO

DEMO中演示了如何在图片墙场景的数千张图片下,配合预加载、优先级控制、分级加载等技术,实现图片在快速滑动场景的高速下载和显示

  1. 模块插件化

可定制缓存、解码、加载、绘制等多个模块

  1. 支持取消
    不再显示的图片迅速取消请求,节约内存占用

  2. 支持优先级、优先级可动态调整
    通过对不同区域优先级的设置,使页面加载获得更好的体验

  3. 支持预加载
    可以预先加载图片,预加载和图片正常显示会自动合并

  4. 动图支持
    支持多图动态播放,包括正向播放、逆向播放、来回播放等

  5. 雪碧图支持
    提供将雪碧图解码成序列帧的能力

  6. 滤镜支持
    支持在图片显示前异步对图片进行滤镜处理

  7. 渐进式加载

支持图片边下载边显示

  1. 多级加载

支持多级请求,比如先加载小图再加载大图

  1. 后台解码
    使用后台线程解码,提升页面流畅度

  2. 请求合并
    相同类型的请求会被合并,不会导致重复的运算和下载

  3. 并发数控制
    可以分别对加载、解码、处理等多个模块进行分别并发控制

  4. API调用顺序无关
    无需考虑 API 调用顺序,并不需要将 setURL 作为发送请求的接口