zoukankan      html  css  js  c++  java
  • iOS高级-大量图片展示出现的内存警告问题

    最近在做一个相册类的应用,但是在内存方面一直出现这一些问题,原因就是有着大量图片显示和存取,这里整理一下查到的资料,列举一下造成内存警告的潜在原因

    1.imageName创建UIimage的时候实际上只是在Bundle内查找到文件名,然后把文件名返回,并没有对文件惊醒读取和解码,当UIImage第一次显示在屏幕的时候解码方法才会被调用,并且会保存到一个全局缓存当中,且APP第一次退出或者受到内存警告的时候才会被清空。!!!

    2.imageWithData同样也不能避免缓存

    3.如何避免缓存,把图片用 CGContextDrawImage() 绘制到画布上,然后把画布的数据取出来当作图片。

    4.cell重用问题,老生常谈,要注意的就是footer header的复用,

    - (nullable __kindof UITableViewHeaderFooterView *)dequeueReusableHeaderFooterViewWithIdentifier:(NSString *)identifier

    究其原因,一方面是相片本身大小,iphone相机返回的照片都在2M左右,而每个app如果内存超过20M就会爆出内存警告,解决办法,压缩图片大小:

    UIImageJPEGRepresentation(image1, kCompressionQuality)

  • 相关阅读:
    MFC的奇异non-modality模态对话框
    用于对话框,窗体视图,对话框和属性类型的布局管理器
    在。net中定制OpenFileDialog
    NFS的使用
    snmp-get
    zabbix-trap
    部署
    /etc/rc.local
    gj的交换机在升级了ios之后最新数据不刷新,
    计算型监控项
  • 原文地址:https://www.cnblogs.com/fanxinguu/p/5405083.html
Copyright © 2011-2022 走看看