實際上,我第一次使用了stackoverflow來搜索我的問題的解決方案。從UIImagePickerController加載圖像時,內存字節數增加
問題是我使用的表格視圖中,每個單元格中都有一個ImageView以顯示選定的圖像和一個打開圖像選取器控制器並允許用戶從圖庫或相機中選取圖像的按鈕。從圖庫中選擇圖片後,我使用的功能
NSData *imageData=UIImageJPEGRepresentation(image2, .4);
將其轉換成數據,以減少圖像的內存大小,然後將其保存在文件目錄,最後重新裝載表。
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *imagePath = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"%d.png",currentCameraRow]];
if ([[NSFileManager defaultManager] fileExistsAtPath:imagePath])
{
NSLog(@"file is exiting and starting");
if ([[NSFileManager defaultManager] removeItemAtPath:imagePath error:nil]) {
NSLog(@"file is exiting and deleting");
}
}
否則我在保存文檔目錄的圖像,並重新加載UITable。
重新加載表格後,圖像應出現在單元格的ImageView中。
現在的問題是,如果我再次選擇相同的單元格的圖像,並在點擊相機按鈕後加載它,圖像將出現,但內存也將增加.15MB,我檢查了儀器這使得我的應用程序崩潰在iPhone 3上。
我實際上在想的是,如果我爲同一個單元格選擇圖像,而不考慮我做它的次數,應該在文檔目錄中覆蓋圖像並且在檢入儀器時內存大小不應該增加,但這種情況不會發生。
我對這個問題非常沮喪,所以請任何人幫忙。您的幫助將受到高度讚賞。