小编ZAN*_*ZAN的帖子

iOS不会自动清除ImageIO脏内存

我正在创建一个应用程序,它是一种图库 - 它将不同的媒体内容显示为全屏查看器.分配工具显示使用应用程序时,实时字节参数不会超过40 Mb.与此同时,在我将页面滑动20-30次后,应用程序被100%杀死.我检查了Dirty Memory参数,发现它比Live Bytes大小大10倍.并且大部分脏内存消耗了Image IO:

截图http://i40.tinypic.com/25ge51i.jpg

编辑,另一个截图:

截图http://i40.tinypic.com/9t1mh5.png

上面的分配峰值是切换视频/图像媒体内容.问题是脏内存几乎呈线性增长,我需要以某种方式释放它.

关于应用程序设计.应用程序屏幕有一个水平滚动视图.滚动视图包含包含多个图像的视频或拼贴对象.为了节省内存,一次只创建三个页面 - 当前页面和左/右页面.因此,在滚动滚动视图时,总是会创建和删除页面.

我使用[UIImage imageWithContentOfFile: path]方法加载的所有图像.Collage对象在imagesArray中存储UIImage实例.在dealloc方法中,清除了图像轮廓属性.

所以,问题:

  • 它是一种系统错误吗? [UIImage imageWithContentOfFile?]
  • 它是Image IO缓存吗?
  • 我可以清除它吗?

memory-leaks memory-management uiimage ios javax.imageio

17
推荐指数
1
解决办法
1万
查看次数

如何使用OpenCV生成类似纸张的背景

我正在尝试使用OpenCV实现类似随机纸张的背景.附带的示例显示了真实的纸质文档工件(请忽略它上面的手写). 在此输入图像描述

通过施加噪音很容易实现原纸的简单效果

import cv2
import numpy as np

BG_COLOR = 209

def blank_image(width=1024, height=1024):
    img = np.full((height, width, 1), BG_COLOR, np.uint8)
    return img

def noisy(image):
    row, col, ch = image.shape
    mean = 0
    sigma = 10
    gauss = np.random.normal(mean, sigma, (row, col, ch))
    gauss = gauss.reshape(row, col, ch)
    noisy = gauss + image
    return noisy

if __name__ == '__main__':
    img = blank_image()
    cv2.imwrite('out.jpg', noisy(img))
Run Code Online (Sandbox Code Playgroud)

但它看起来太均匀而没有上面的工件: 在此输入图像描述

我想知道从第一张图片中产生这种随机结构的最佳方法是什么.

python opencv machine-learning computer-vision

5
推荐指数
1
解决办法
704
查看次数