推广 热搜: csgo  vue  2023  angelababy  gps  信用卡  新车  htc  落地  控制 

深入浅出-iOS程序性能优化

   2023-08-21 网络整理佚名1600
核心提示:1,计算代码运行时间:相信数据,不要太相信感觉。的显示属性之类的简单事情,比如背景色,字体等。9,使用多线程来延迟加载资源。中的网络图像显示,先使用一个默认图像,然后开启线程下载网络图像,当图像下载完成之后,再替换默认图像。,会造成在Main函数之前运行额外的代码。语句;优化数据库查询语句,用和来查找性能差的语句;如果可能的话,缓存查询结果缓。

iOS app 非常人性化,不仅需要合理美观的界面设计,还需要各种 UI 才能响应,相信大家对那种拖拽的应用程序没有好印象。还记得12306,那个速度,相信大家都受不了。为了提高 iOS 的速度,我将介绍一些我实践过的提供 iOS 程序效率的方法,并与大家分享,希望得到更多的反馈和建议。

1.计算代码运行时间:相信数据,不要太相信感觉。但是,请注意模拟器和真实机器之间的区别。

最简单的工具是 ,但精度不太好。

*=[[]];/

/...=[[]e:];NSLog(@“>>>>>>>>>>=%f”,);

或者把运行的代码放在下面方法的block参数中,然后返回运行的时间:

#//e()(void(^block)(void)){; if((&info)!=)-1.0; =(); block(); =(

); =end-start; =*info.numer/info.denom;()nanos/; }

2、善用绩效分析工具。

XCode附带了许多强大的分析工具,包括静态工具和运行时工具。

3. 关于图片

优先选择 [ :@“”];

与 [ 分配]le:] 和 [ 分配 [:]] 相比, [ :]

效率更高,因为iOS会自带缓存通过[ :]加载图片,但这种方法有一个缺点,就是只能加载应用中的图片,比如通过网络下载的图片。我习惯做的是自定义一个类并自己缓存图像

尽量不要使用全屏大小的背景图像;使用图像而不是硬编码;图片应该尽可能狭窄,然后延伸到实际情况。

4. 对于结构复杂的视图,请使用自绘图而不是从笔尖加载。

5、用于、复用细胞;减少小区初始化和延迟加载的工作量;自定义复杂单元格时,请使用自绘图;缓存尽可能多的内容,包括单元格高度;使单元格尽可能不透明;避免使用图像功能,例如 .

6.在螺纹中使用。

7. 在空闲时运行一些不太重要的任务。

-(void)od{

//}-(void){[[]::@(od)name:@“”:nil]; *=[:@“”:nil];[[]:泰尔:];}

8. 不要在 中进行耗时的操作。

:在视图显示之前调用,为了效率,不要在此方法中处理复杂耗时的事情;在此方法中,只应设置简单的内容,例如视图的显示属性,例如背景颜色、字体等。否则,用户会明显感觉到视图显示缓慢。

9. 使用多线程延迟加载资源。例如,在普通网络镜像展示中,先使用默认镜像,然后启动线程下载网络镜像,等镜像下载完成后替换默认镜像。

10. 关于后台任务

系统进入后,通常只有10分钟的运行时间,所以有很多注意事项:

11. 如果关键代码使用 C/C++/asm 更有效,请使用 C/C++/asm。

12. 如果在循环次数非常多的循环中使用方法,请在进入循环之前使用方法 IMP,然后直接在循环主体中使用 IMP。

13、关于内存释放

释放 ing 中的内存,如缓存图像、视图等,记得调用 [ ing]。清理函数 ing,两者都是在方法末尾调用的方法。

14.提高APP的加载速度

避免使用静态初始化(包括静态C++对象)和在加载时运行的代码(如 +(void) load{})将导致在 Main 函数之前运行额外的代码。

16. 使用缓存空间交换时间。缓存是一种常见的时空交付,可提供性能,并且可以在很多场合使用。

尝试缓存可重用的对象,例如表单元格、日期、正则表达式、语句等。

17. 关于数据库

缓存常用语句;优化数据库查询语句,使用sum查找性能较差的语句;如果可能,请缓慢缓存查询结果。

在使用将 SQL 查询编译为字节码时,要使用绑定,请重用语句中已有的那些查询。

原文来自:

 
反对 0举报 0 收藏 0 打赏 0评论 0
 
更多>同类资讯
推荐图文
推荐资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报
Powered By DESTOON