ios图片缓存播放
2012-09-13 17:42
369 查看
imageCache.h
//
// ImageCache.h
// nowLearn
//
// Created by wang doublejie on 12-9-12.
// Copyright (c) 2012年 __MyCompanyName__. All rights reserved.
//
//图片缓存类
#import <Foundation/Foundation.h>
@interface ImageCache : NSObject
{
}
+(UIImage*)loadImage:(NSString*)imageName;
+(void)releaseCache;
@end
imageCache.m
//
// ImageCache.m
// nowLearn
//
// Created by wang doublejie on 12-9-12.
// Copyright (c) 2012年 __MyCompanyName__. All rights reserved.
//
#import "ImageCache.h"
@implementation ImageCache
static NSMutableDictionary *dict;
+(UIImage*)loadImage:(NSString *)imageName
{
if(!dict)dict= [[NSMutableDictionary
dictionary] retain];
UIImage* image= [dict
objectForKey:imageName];
if (!image) {
NSString* imagePath = [[NSBundle
mainBundle]pathForResource:imageName
ofType:nil];
image = [UIImage imageWithContentsOfFile:imagePath];
if (image) {
[dict setObject:image
forKey:imageName];
}
}
return image;
}
+(void)releaseCache
{
if (dict) {
[dict removeAllObjects];
}
}
@end
//使用
- (void)viewDidLoad
{
[super
viewDidLoad];
NSMutableArray *images =[[NSMutableArray
alloc]initWithCapacity:30];
for (int i=1; i<=9; i++) {
NSString* imageName=[NSString
stringWithFormat:@"page_%d.jpg",i];
UIImage *image=[ImageCache
loadImage:imageName];
[images addObject:image];
}
imageView=[[UIImageView
alloc]initWithFrame:CGRectMake(0, 100, 320, 320)];
imageView.animationImages=images;
[images release];
imageView.animationDuration=10;
imageView.animationRepeatCount=100;
[imageView startAnimating];
[self.view
addSubview:imageView];
UIButton *btn = [UIButton
buttonWithType:UIButtonTypeRoundedRect];
btn.frame = CGRectMake(30, 420, 90, 35);
[btn setTitle:@"清除内存占用" forState:UIControlStateNormal];
[btn setTitle:@"清除内存占用" forState:UIControlStateHighlighted];
[btn addTarget:self
action:@selector(clearMemory:)
forControlEvents:UIControlEventTouchUpInside];
[self.view
addSubview:btn];
// Do any additional setup after loading the view.
}
//
// ImageCache.h
// nowLearn
//
// Created by wang doublejie on 12-9-12.
// Copyright (c) 2012年 __MyCompanyName__. All rights reserved.
//
//图片缓存类
#import <Foundation/Foundation.h>
@interface ImageCache : NSObject
{
}
+(UIImage*)loadImage:(NSString*)imageName;
+(void)releaseCache;
@end
imageCache.m
//
// ImageCache.m
// nowLearn
//
// Created by wang doublejie on 12-9-12.
// Copyright (c) 2012年 __MyCompanyName__. All rights reserved.
//
#import "ImageCache.h"
@implementation ImageCache
static NSMutableDictionary *dict;
+(UIImage*)loadImage:(NSString *)imageName
{
if(!dict)dict= [[NSMutableDictionary
dictionary] retain];
UIImage* image= [dict
objectForKey:imageName];
if (!image) {
NSString* imagePath = [[NSBundle
mainBundle]pathForResource:imageName
ofType:nil];
image = [UIImage imageWithContentsOfFile:imagePath];
if (image) {
[dict setObject:image
forKey:imageName];
}
}
return image;
}
+(void)releaseCache
{
if (dict) {
[dict removeAllObjects];
}
}
@end
//使用
- (void)viewDidLoad
{
[super
viewDidLoad];
NSMutableArray *images =[[NSMutableArray
alloc]initWithCapacity:30];
for (int i=1; i<=9; i++) {
NSString* imageName=[NSString
stringWithFormat:@"page_%d.jpg",i];
UIImage *image=[ImageCache
loadImage:imageName];
[images addObject:image];
}
imageView=[[UIImageView
alloc]initWithFrame:CGRectMake(0, 100, 320, 320)];
imageView.animationImages=images;
[images release];
imageView.animationDuration=10;
imageView.animationRepeatCount=100;
[imageView startAnimating];
[self.view
addSubview:imageView];
UIButton *btn = [UIButton
buttonWithType:UIButtonTypeRoundedRect];
btn.frame = CGRectMake(30, 420, 90, 35);
[btn setTitle:@"清除内存占用" forState:UIControlStateNormal];
[btn setTitle:@"清除内存占用" forState:UIControlStateHighlighted];
[btn addTarget:self
action:@selector(clearMemory:)
forControlEvents:UIControlEventTouchUpInside];
[self.view
addSubview:btn];
// Do any additional setup after loading the view.
}
相关文章推荐
- IOS工具类 (钱转化(分到元),快速创建控件,生成图片名称,验证信息,缓存文件,友盟统计类,转换为json,获取URl中的参数)
- iOS开发之旋转动画及GIF格式图片的播放
- (Swift) iOS Apps with REST APIs(六) -- 使用PINRemoteImage实现图片加载及缓存
- iOS图片动态缓存方案
- [iOS开发必备工具之]图片的异步加载与图片缓存(2)
- iOS把图片缓存到本地的几种方法
- IOS开发之异步加载网络图片并缓存本地实现瀑布流(二)
- iOS 中播放gif图片
- IOS开发网络加载图片缓存策略之──ASIDownloadCache缓存策略
- iOS疯狂详解之AFNetworking图片缓存问题
- iOS网络编程(三) 异步加载及缓存图片---->SDWebImage
- iOS网络加载图片缓存与SDWebImage
- IOS网络图片缓存详解
- iOS 使用ASI实现图片的缓存机制
- iOS基础8:自定义MyData/自定义SQLite用于网络判断,版本判断,图片缓存处理,下载或者上传的GET或POST请求,加密手段,.数据解析
- IOS网络图片缓存详解
- IOS使用scrollview显示大量图片,实现缓存,节省内存
- iOS AVPlayer音频播放、缓存、歌词同步 (DFPlayer的使用方法)
- 【代码笔记】iOS-gif图片播放
- ios网络加载图片进行本地文件缓存开源插件sdwebimagecache