美文网首页
iOS内存优化

iOS内存优化

作者: 水蜜桃看看就好 | 来源:发表于2020-12-01 09:48 被阅读0次

给大家总结一些常用的内存优化:

1、用ARC管理内存
2、在正确的地方使用 reuseIdentifier
3、尽量把views设置为透明
4、避免过于庞大的XIB
5、不要阻塞主线程
6、在ImageViews中调整图片大小。如果要在UIImageView中显示一个来自bundle的图片,你应保证图片的大小和UIImageView的大小相同。在运行中缩放图片是很耗费资源的,特别是UIImageView嵌套在UIScrollView中的情况下。如果图片是从远端服务加载的你不能控制图片大小,比如在下载前调整到合适大小的话,你可以在下载完成后,最好是用background
thread,缩放一次,然后在UIImageView中使用缩放后的图片。
7、选择正确的Collection。
Arrays: 有序的一组值。使用index来lookup很快,使用value lookup很慢, 插入/删除很慢。
Dictionaries: 存储键值对。 用键来查找比较快。
Sets: 无序的一组值。用值来查找很快,插入/删除很快。
8、打开gzip压缩。app可能大量依赖于服务器资源,问题是我们的目标是移动设备,因此你就不能指望网络状况有多好。减小文档的一个方式就是在服务端和你的app中打开gzip。这对于文字这种能有更高压缩率的数据来说会有更显著的效用。

iOS已经在NSURLConnection中默认支持了gzip压缩,当然AFNetworking这些基于它的框架亦然。容易被忽略的内存优化如下:

1.View的渲染是很吃CPU性能和内存的,所以更多的View渲染是特别容易消化内存和cpu,特别是我们再使用UIScrollView时,多个Subview 时 我们可以适当的 把subview 进行重用。
2.懒加载,也称延迟加载,说的通俗一点,就是在开发中,当程序中需要利用的资源时。在程序启动的时候不加载资源,只有在运行当中需要一些资源时,再去加载这些资源,即在需要的时候才加载(效率低,占用内存小),所谓懒加载,写的是其get方法
3.缓存的使用 比如,服务器的不经常变化的资源,图片,包括tableviewCell的行高。因为加载资源和计算高度多CPU的消耗也是比较高的
4.UIView加载背景图. 常用的有下面几种
imageName方法
self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"image.jpg"]];
其他的方法
NSString *path = [[NSBundlemainBundle]pathForResource:@"image"ofType:@"jpg"];
self.view.backgroundColor = [UIColorcolorWithPatternImage:[UIImageimageWithContentsOfFile:path]];
这两种方式都会在生成color时占用大量的内存。如果图片大小不够,就会平铺多张图片,不会去拉伸图片以适应View的大小。在View释放后,1中的color不会跟着释放,而是一直存在内存中;2中的color会跟着释放掉,当然再次生成color时就会再次申请内存.在UIView上再添加一个UIImageView显示图片作为UIView的背景图片
注意:如果有点击事件的话, userInteractionEnabled用户交互设置为YES。
iOS视图都是一个图层,最先放置的图层就会在最底层,如此最先给UIView添加一个UIImageView就可以作UIView的背景图片使用啦 。
其他方式(推荐)


UIImage *image = [UIImageimageWithContentsOfFile:path];

self.view.layer.contents = (id)image.CGImage;

Over 如果对你有帮助希望给个关注,或者点个赞!小编非常感谢!!!

相关文章

  • iOS 性能优化内存优化学习

    iOS APP渲染性能优化iOS性能优化之内存(memory)优化iOS内存和性能优化

  • iOS APP内存优化记录

    iOS APP内存优化记录iOS APP内存优化记录

  • iOS 性能优化 - Allocations分析内存分配

    iOS 性能优化 - Allocations分析内存分配 iOS 性能优化 - Allocations分析内存分配

  • iOS必读 - 收藏集 - 掘金

    iOS 性能优化总结 - iOS - 掘金关于iOS 性能优化梳理: 基本工具、业务优化、内存优化、卡顿优化、布局...

  • IOS的性能优化包括哪几点

    iOS性能优化总结 iOS性能优化总结。关于 iOS 性能优化梳理: 基本工具、业务优化、内存优化、卡顿优化、布局...

  • iOS性能优化

    iOS-Performance-Optimization 关于iOS 性能优化梳理: 基本工具、业务优化、内存优化...

  • iOS性能优化

    iOS-Performance-Optimization 关于iOS 性能优化梳理: 基本工具、业务优化、内存优化...

  • iOS 性能优化

    25个性能优化 iOS内存和性能优化

  • iOS性能调优

    1.iOS 性能调优2.iOS性能调优(全)---内存优化和UI优化3.深度优化iOS网络模块4.iOS网络请求优...

  • iOS APP内存优化技术

    iOS内存优化的技术介绍有很多,但总体浏览下来,感觉还是苹果官方的技术最有价值, iOS app内存优化的官方技术...

网友评论

      本文标题:iOS内存优化

      本文链接:https://www.haomeiwen.com/subject/acijwktx.html