ios面试题--有答案2

ios面试题--有答案2

ID:30776226

大小:51.05 KB

页数:4页

时间:2019-01-03

ios面试题--有答案2_第1页
ios面试题--有答案2_第2页
ios面试题--有答案2_第3页
ios面试题--有答案2_第4页
资源描述:

《ios面试题--有答案2》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、1、写出方法获取iOS内存使用情况。〃获取当前设备可用内存及所占内存的头文件#import#import〃获取当前设备可用内存(单位:MB)-(double)availableMemory{vm_statistics_data_tvmStats;mach_msg_type_number_tinfoCount=HOST_VM」NFO_COUNT;kern_return_tkernReturn=host_statistics(mach_host_self(),HOST_VM_INFO,(host_i

2、nfo_t)&vmStats,&nfoCount);if(kernReturn!=KERN_SUCCESS){returnNSNotFound;}return((vm_page_size*vmStats.free_count)/1024.0)/1024.0;}~〃获取当前任务所占用的内存(单位:MB)-(double)usedMemory{taskbasicinfodatattasklnfo;mach_msg_type_number_tinfoCount=TASK_BASIC_INFO_COUNT;kern_retum_tkernRetum=tas

3、k_info(mach_task_self(),TASK_BASIC_INFO,(task_info_t)&tasklnfo,&infoCount);if(kernReturn!=KERN_SUCCESS){returnNSNotFound;}returntasklnfo.resident_size/1024.0/1024.0;}1、深拷贝和浅拷贝的理解?深拷贝拷贝的是内容,浅拷贝拷贝的是指针。深拷贝和浅拷贝最大的区别就是子类对象的地址是否改变,如果子类对象的地址改变那么就是深拷贝。2、怎样实现一个singleton的类。staticLOSingl

4、eton*shareinstance;+(LOSingleton*)sharedlnstance{@synchronized(self){//这个东西其实就是一个加锁。如果self其他线程访问,则会阻塞。这样做一般是用来对单例进行一个死锁的保护if(sharelnstance==nil){shareinstance=[[superallocWithZone:NULL]init];}}returnsharelnstance;}〃第二种方式+(LOSingleton*)sharedInstanee{staticLOSingleton*sharedlns

5、tanee=nil;staticdispatch_once_tonceToken;//锁dispatch_once(&onceToken,A{//最多调用一次sharedlnstance=[[selfalloc]init];});returnsharedlnstance;}3、什么是安全释放?在对象release之后把指针置为nil2、RunLoop是什么?—个RunLoop就是一个时间处理的循环,用来不停的调度工作以及处理输入时间。使用runloop的目的是让你的线程在有工作的时候忙于工作,而没工作的时候处于休眠状态。runloop的设计是为了减

6、少cpu无谓的空转。3、什么是序列化和反序列化,可以用來做什么?如何在0C中实现复杂对象的存储?如果你需要存储一个复杂的对象的话,经常要以二进制的方法序列化这个对象,这个过程叫Archivingo如果一个对象需要进行序列化,那么需要遵循NScoding协议,主要有两个方法:-{id)initWithCoder:(NSCoder*)coder;//从coder中读取数据,保存到相应变量中,即反序列化数据。-(void)encodeWithCoder:(NSCoder*)coder;//读取实例变量,并把这些数据写到code冲去,即序列化数据。4、写一

7、个标准宏MIN,这个宏输入两个参数并返回较小的一个?#definekMIN(X,Y)((X)>(Y))?(Y):(X)5、iphoneos有没有垃圾回收机制?简单阐述一下0C内存管理。iphoneos没有垃圾回收机制。垃圾回收机制用于在空闲时间以不定时的方式动态的回收无任何引用的对象占据的内存空间。6、简述丿应用程序按Home键进入后台时的生命周期,以及从后台回到前台时的生命周期?应用程序的状态:Notrunning未运行,程序没启动Inactive未激活,程序在前台运行,不过没接受到事件,没有事件处理的状态下通常处于这个状态。Active激活程序

8、在前台并且接收到了事件Backgound后台程序在后台而且能执行代码,大多数程序进入这个状态后会在在这个状态上停留一会。S

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。