app开发是一个循序渐进的一个过程,开发过程中功能的不断完善是必须要做的,移动应用的开发是一个比较复杂的开发,它要求开发者能够解决数据、缓存等相关的一些app优化的问题,本文将带大家一起来看看ios中的一些优化的问题,有需要的朋友可以参考一下。
1:应用启动时间:当应用启动时,只加载启动相关的资源和必须在启动时加载的资源。
2:本地图片加载方式:本地图片加载常用方法有两种:
(1),[uiimageimagenamed:@""]图片多次使用时使用,需要使用此方式加入缓存
(2),[[uiimagealloc]initwithcontentsoffile:@""]图片不常使用时,不使用缓存
3:尽量不要阻塞主线程,在开发中除了ui处理外,其它任务尽量放在后台线程加载。
4:uiview(1),如果你的view是透明的,需要设置opaque为yes。(2),使用uitableview和uicollectionview的重用,并缓存动态cell的高度。(3),延迟加载不急需要的views。(4),尽量避免代码裁剪图片,如果是必须的话,则需在后台线程处理。
5:缓存方面的话,缓存需要重复显示的数据,比如一些网络的请求、图片。
6:在对象创建时避免过多消耗资源假设应用中多次使用到日期处理,将保持日期对象全局的唯 一。
7:释放对象(1),当arc中创建对象过多时,我们知道内存是会持续的升高,这个时候在需要时添加自动释放池释放不需要的资源。(2),需要及时的去释放自己开辟的内存空间。
8:怎样防止循环引用?(1),可以在头文件中尽量避免import导入头文件,使用@class声明类,在.m文件中#import。(2),也可以是在设置/block中使用相应的关键字引用对象。
9:数据存储:关于数据存储它大致分plist、对象归档、sqlite,nsuserdefault它是适合存储小量数据,而私密信息它则是使用keychain,sqlite适合大量数据,因为归档性能较低,尽量避免去使用。
10:内存警告处理:当系统发出内存警告时,释放不必要的数据的三种方式有:(1)appdelegate中实现applicationdidreceivememorywarninguiviewcontroller,(2)重写didreceivememorywarning(3)注册通知:uiapplicationdidreceivememorywarningnotification
11:关于性能检测静态分析app:菜单-product-analyze是可以定位未使用的变量,内存泄漏分析app每个操作占用时间:instruments-timeprofiler。动态分析内存泄漏:instruments-leaks。
app的性能优化是一个对app完善的过程,在开发过程中应该注意什么、哪些对象可以释放、以及数据存储该如何去掌握,这都是需要有一定的了解的,在实践中不断的去研究分析,这样才可以完成做好。