当前位置: 编程技术>移动开发
本页文章导读:
▪Core Animation卡通 Core Animation动画
Core Animation允许你创建高级的动画和虚拟效果
UIKit提供建立在Core Animation之上的动画。如果你需要比UIKit能力更高级的功能,可以直接使用Core Animation。Core Animation接.........
▪ 起步另外一个apk 启动另外一个apk
这篇博文主要是获取其他apk程序的启动的主intent,这样一个APK启动另外一个apk就又有了一个方便的方式
private Intent getIntent(String pkg) {
PackageManager mPackageManager= context.getPack.........
▪ autorelease对象具体什么时候开释 autorelease对象具体什么时候释放?
在项目中,会有一个默认的Autorelease pool,程序开始时创建,程序退出时销毁,按照对Autorelease的理解,岂不是所有autorelease pool里的对象在程序退出时才rel.........
[1]Core Animation卡通
来源: 互联网 发布时间: 2014-02-18
Core Animation动画
Core Animation允许你创建高级的动画和虚拟效果
UIKit提供建立在Core Animation之上的动画。如果你需要比UIKit能力更高级的功能,可以直接使用Core Animation。Core Animation接口包含在Quartz Core框架里。使用Core Animation可以创建嵌套的对象,并且可以沿着x、y、z轴对它们旋转rotation、缩放scale和转换transform。使用Core animation,你可以创建动态的用户界面而不用使用更底层的图形API,如OpenGL ES。
相关参考:
Core Animation类体系
Core Animation核心动画以及基本原理
//============================================
一张图片在一定范围内,水平左右移动:[self.imageView setImage:[UIImage imageNamed:@"推荐页登录按钮.png"]]; CABasicAnimation *theAnimation; theAnimation=[CABasicAnimation animationWithKeyPath:@"transform.translation.x"]; theAnimation.duration=1; theAnimation.repeatCount=INT_MAX; theAnimation.autoreverses=YES; theAnimation.fromValue=[NSNumber numberWithFloat:0]; theAnimation.toValue=[NSNumber numberWithFloat:-60]; [self.imageView.layer addAnimation:theAnimation forKey:@"animateLayer"];一张图片逆时针旋转
[self.imageView setImage:[UIImage imageNamed:@"推荐页登录按钮.png"]]; CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"transform"]; animation.delegate = self; animation.toValue = [NSValue valueWithCATransform3D:CATransform3DMakeRotation(M_PI , 0, 0, 1.0)]; animation.duration = 1; animation.cumulative = YES; animation.repeatCount = INT_MAX; [self.imageView.layer addAnimation:animation forKey:@"animation"];
Core Animation相关动画 Core Animation教学:关键桢动画 Core Animation教学:窗口淡入淡出特效 Core Animation教学:使用Transitions制作带动画效果的向导对话框
[2] 起步另外一个apk
来源: 互联网 发布时间: 2014-02-18
启动另外一个apk
这篇博文主要是获取其他apk程序的启动的主intent,这样一个APK启动另外一个apk就又有了一个方便的方式
private Intent getIntent(String pkg) { PackageManager mPackageManager= context.getPackageManager(); if (pkg == null) return; Intent intent = mPackageManager.getLaunchIntentForPackage(pkg); return intent; }
[3] autorelease对象具体什么时候开释
来源: 互联网 发布时间: 2014-02-18
autorelease对象具体什么时候释放?
在项目中,会有一个默认的Autorelease pool,程序开始时创建,程序退出时销毁,按照对Autorelease的理解,岂不是所有autorelease pool里的对象在程序退出时才release, 这样跟内存泄露有什么区别?
答案是,对于每一个Runloop, 系统会隐式创建一个Autorelease pool,这样所有的release pool会构成一个象CallStack一样的一个栈式结构,在每一个Runloop结束时,当前栈顶的Autorelease pool会被销毁,这样这个pool里的每个Object会被release。
那什么是一个Runloop呢? 一个UI事件,Timer call, delegate call, 都会是一个新的Runloop。
“Application kit”在一个事件循环里会自动创建一个”autorelease pool”。像鼠标键的按下与释放,所以你编写的代码通常不需要考虑太多这方面的事情。当然,有以下三种情况你会创建与销毁自己的Pool实例:
1,应用不是基于”Application Kit”,像”Command-line tool”,因为它并没有内置的”autorelease pools”的支持。
2,创建线程,你必需在线程开始时创建一个”Autorelease Pool”实例。反之,会造成内存池露(会在以后的文章详细说明线程与池的技巧)。
3,一个循环内创建了太多的临时对象,你应该为他们创建一个”Autorelease Pool”对象,并在下次循还前销毁它们。
在项目中,会有一个默认的Autorelease pool,程序开始时创建,程序退出时销毁,按照对Autorelease的理解,岂不是所有autorelease pool里的对象在程序退出时才release, 这样跟内存泄露有什么区别?
答案是,对于每一个Runloop, 系统会隐式创建一个Autorelease pool,这样所有的release pool会构成一个象CallStack一样的一个栈式结构,在每一个Runloop结束时,当前栈顶的Autorelease pool会被销毁,这样这个pool里的每个Object会被release。
那什么是一个Runloop呢? 一个UI事件,Timer call, delegate call, 都会是一个新的Runloop。
“Application kit”在一个事件循环里会自动创建一个”autorelease pool”。像鼠标键的按下与释放,所以你编写的代码通常不需要考虑太多这方面的事情。当然,有以下三种情况你会创建与销毁自己的Pool实例:
1,应用不是基于”Application Kit”,像”Command-line tool”,因为它并没有内置的”autorelease pools”的支持。
2,创建线程,你必需在线程开始时创建一个”Autorelease Pool”实例。反之,会造成内存池露(会在以后的文章详细说明线程与池的技巧)。
3,一个循环内创建了太多的临时对象,你应该为他们创建一个”Autorelease Pool”对象,并在下次循还前销毁它们。
最新技术文章: