iOS中解決因添加圖片導致內(nèi)存過的大方法

在開發(fā)app的過程中,某個空間需要加載相冊中的圖片,而相冊中的圖片都是高清圖片,動輒十幾M的大小,這樣添加過多的圖片后,會導致內(nèi)存劇增,影響app的使用.

這里解決的辦法就是通過重繪圖片的frame,原始圖片的高度h1,寬度w1,再定義自己想要得到的圖片的寬度w2,通過h1 * w2 / w1來計算程序員自己想要得到的圖片的高度,然后通過獲取圖片上下文的方式,重新返回一個UIImage,給控件賦值的時候用重繪后的UIImage就能解決該問題了

這里分享一個免費的裁剪圖片的神網(wǎng)站,裁剪完不影響分辨率
https://tinypng.com

//解決內(nèi)存問題
func getScaleImage(width: CGFloat) -> UIImage {
    if self.size.width <= width {
        return self
    }else {
        let height = (self.size.height * width)/self.size.width
        
        let rect = CGRect(x: 0, y: 0, width: width, height: height)
        
        UIGraphicsBeginImageContext(rect.size)
        self.drawInRect(rect)
        
        let image = UIGraphicsGetImageFromCurrentImageContext()
        
        UIGraphicsEndImageContext()
        
        return image
        
    }
}
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內(nèi)容