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)

  • 相关阅读:
    PHP array_udiff_assoc() 函数
    PHP array_udiff() 函数
    app已损坏,打不开。你应该将它移到废纸篓
    [WC2013]糖果公园
    win10 uwp 绑定静态属性
    win10 uwp 修改Pivot Header 颜色
    win10 uwp 修改Pivot Header 颜色
    win10 uwp 修改Pivot Header 颜色
    win10 uwp 反射
    win10 uwp 反射
  • 原文地址:https://www.cnblogs.com/fanxinguu/p/5405083.html
Copyright © 2011-2022 走看看