我正在创建一个应用程序,它是一种图库 - 它将不同的媒体内容显示为全屏查看器.分配工具显示使用应用程序时,实时字节参数不会超过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?]我正在尝试使用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)
我想知道从第一张图片中产生这种随机结构的最佳方法是什么.