[xcode]instruments来检验你的app
- - (void)setPhoto:(FlickrPhoto *)photo {
- _photo = photo;
- self.textLabel.text = photo.title;f
- // NSData *imageData = [NSData dataWithContentsOfURL:_photo.thumbnailUrl];
- // self.imageView.image = [UIImage imageWithData:imageData];
- [[ImageCache sharedInstance] downloadImageAtURL:_photo.thumbnailUrl
- completionHandler:^(UIImage *image) {
- self.imageView.image = image;
- [self setNeedsLayout];
- }];
- }
- - (void)downloadImageAtURL:(NSURL*)url completionHandler:(ImageCacheDownloadCompletionHandler)completion {
- UIImage *cachedImage = [self imageForKey:[url absoluteString]];
- if (cachedImage) {
- completion(cachedImage);
- } else {
- dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
- NSData *data = [NSData dataWithContentsOfURL:url];
- UIImage *image = [UIImage imageWithData:data];
- [self setImage:image forKey:[url absoluteString]];
- dispatch_async(dispatch_get_main_queue(), ^{
- completion(image);
- });
- });
- }
- }
- - (void)setImage:(UIImage*)image forKey:(NSString*)key {
- [_cache setObject:image forKey:key];
- }
- - (id)init {
- if ((self = [super init])) {
- _cache = [NSMutableDictionary new];
- [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(memoryWarning:) name:UIApplicationDidReceiveMemoryWarningNotification object:nil];
- }
- return self;
- }
- - (void)memoryWarning:(NSNotification*)note {
- [_cache removeAllObjects];
- }
- - (void)rotateTapped:(id)sender {
- UIImage *currentImage = _imageView.image;
- CGImageRef currentCGImage = currentImage.CGImage;
- CGSize originalSize = currentImage.size;
- CGSize rotatedSize = CGSizeMake(originalSize.height, originalSize.width);
- CGContextRef context = CGBitmapContextCreate(NULL,
- rotatedSize.width,
- rotatedSize.height,
- CGImageGetBitsPerComponent(currentCGImage),
- CGImageGetBitsPerPixel(currentCGImage) * rotatedSize.width,
- CGImageGetColorSpace(currentCGImage),
- CGImageGetBitmapInfo(currentCGImage));
- CGContextTranslateCTM(context, rotatedSize.width, 0.0f);
- CGContextRotateCTM(context, M_PI_2);
- CGContextDrawImage(context, (CGRect){.origin=CGPointZero, .size=originalSize}, currentCGImage);
- CGImageRef newCGImage = CGBitmapContextCreateImage(context);
- UIImage *newImage = [UIImage imageWithCGImage:newCGImage];
- self.imageView.image = newImage;
- }
- CGImageRelease(newCGImage);
- CGContextRelease(context);
[xcode]instruments来检验你的app相关推荐
- iOS系类教程之用instruments来检验你的app
2019独角兽企业重金招聘Python工程师标准>>> 发布于:2014-01-14 10:23阅读数:22668 比较了好多关于instruments 还是发现老外写的比较牛逼.于 ...
- iOS:Xcode Instruments的使用
返回上级目录:iOS 性能优化(一):Improving Your App's Performance 文章目录 1.使用实例 1.1 Points of Inerest(标记代码执行的点和执行时间) ...
- Xcode couldn‘t find any iOS App Development provisioning profiles matching ‘com.example.***‘
在更新完iOS14.3后,Xcode真机调试时报错,无法进行真机测试: 报以下错误: No profiles for 'com.example.software.Login' were found: ...
- 解决Xcode couldn‘t find any iOS App Development provisioning profiles matching ‘com.facebook.WebDriver
① 目的: 昨天还好好的,今天早上环境启动好无法启动手机APP了. 但是使用模拟器好好地. ② 环境 Python+appium+IOS真机 ③ 错误信息 3.1错误信息: Xcode couldn' ...
- Xcode学习之路——第一个app
经历2天多安装Xcode成功后,立刻新建一个app,参考文档:Xcode:开发的第一个ios程序 - 百度文库https://wenku.baidu.com/view/cdb6a0010422192e ...
- iOS性能分析-Xcode Instruments Allocations 分析APP内存使用情况
All Heap & Anonymous VM 堆内存+虚拟内存 All Heap Allocations 堆内存 All Anonymous VM 虚拟内存 # Persistent 表示在 ...
- Mac/IOS Xcode Instruments资源统计及自动化相关
一.遇到的问题 (1)Instruments启动采集某个应用的资源时,提示"Instruments wants permission to analyze other processes. ...
- Xcode Instruments之概述
从事开发已有两年多时间了,从没有写过博客,看到别人写的好的博客,总是赞叹和羡慕.现在总算下定决心写写东西,我的技术水平还很有限,写不了高深的文章,就从写一些简单的东西开始吧,希望我的文章能给予大家帮助 ...
- ios上传ipa:Xcode导入ipa上传至App Store
点击Xcode,选择Open Developer Tool 下的Application Loader,这时会弹出许可协议,点击同意即可 打开Application Loader的登录,使用AppId和 ...
最新文章
- 一文探索 JavaScript 最强大特性—函数表达式
- 【朱-刘算法】【最小树形图】hdu6141 I am your Father!
- 运维基础(10)linux被删数据恢复方法
- 普通java项目配置mybatis是总是显示数据库驱动找不到
- 7. Reverse Integer
- SAP S/4HANA生产订单创建时使用的工厂数据是从什么地方带出来的 1
- ThinkPHP6项目基操(16.实战部分 redis+token登录)
- Qt文档阅读笔记|Qt工作笔记-QMutexLocker的使用(抛出异常也能解锁)
- Linux下添加字体(QT可用)
- 【树莓派】树莓派(Debian)- root用户无法使用SSH登录
- php 抽象 接口类 区别,PHP 抽象類和接口區別
- Tiny服务的开发配套的工具来了
- mysql管理工具-SQLyog管理工具
- Linux 迅雷 chrome插件,Chrome(Chromium)迅雷下载支持扩展1.1测试版【更新】
- limeSurvey资料
- html渲染自动保存图片,3dmax设置渲染完自动保存图片的方法
- windows系统更换鼠标指针
- 维控plc解密 维控程序文件密码 工程密码 子程序密码搞定
- 不允许一个用户使用一个以上用户名域一个服务器或共享
- linux下批量修改前缀,Linux 中批量修改后缀名
热门文章
- plsql提示列快捷键_20种VSCode快捷键清单,助你更快编码
- mysql 多实例 独立配置文件_mysql 5.7 配置多实例 — 独立配置文件方式
- 述职答辩提问环节一般可以问些什么_内部资料,仅供阿里在职同事传阅:晋升答辩成功要诀...
- oracle中job的retry次数,有大佬帮忙看下我安装过程中到底出啥问题了么..
- 数据结构专题(二):2.7顺序表反转
- 1.12 深层循环神经网络
- 1.5 训练_开发_测试集划分
- C++语言动态内存管理介绍和示例
- python 菜品识别_利用百度智能云结合Python体验图像识别(来自qylruirui)
- redis依赖_请勿过度依赖 Redis 的过期监听