문제

나는이 아주 좋은 참조를 언급했다. https://stackoverflow.com/questions/1282830/uiimagepickercontroller-uiimage-memory-and-more 그러나 나는 매우 심각한 문제가 있습니다. 사진을 찍은 후 메모리 경고를받습니다. 이것은 두 번째 또는 세 번째가 아닌 첫 번째 사진을위한 것입니다.

응용 프로그램 디렉토리에서 스크롤 뷰에 몇 개의 작은 JPEG를로드했기 때문인지 궁금합니다. 내가 생각할 수있는 유일한 해결책은 uiimagepicker가 활성화되어있는 동안 메인 뷰의 모든 것을 내리고 나중에 다시로드하는 것입니다. 그러나 그것이 올바른 솔루션인지 확실하지 않으며 어떻게 해야할지 잘 모르겠습니다.

uiimagepicker가 사용합니까? 저것 많은 기억? 나는 아직 이미지를 처리하거나 표시 할 때까지도 얻지 못했습니다. 이미지를 버려도 메모리 경고를받습니다.

모든 도움이 감사합니다.

도움이 되었습니까?

해결책

예, 이런 일이 발생합니다. 기억해야 할 것은 메모리 경고를받는 것이 좋다는 것입니다. 그것은 당신이 나쁜 사람이라는 것을 의미하지는 않습니다. 당신은 메모리 경고에 응답하여 응용 프로그램이 충돌하지 않거나 혼란스러워하지 않도록해야합니다.

특히 UIViewController의 기본 동작은 표시되지 않은 경우 뷰를 언로드하는 것이며 전체 화면 이미지 선택기가 표시되는 경우 표시되지 않습니다.

다른 팁

모호한 진술이 아닌 실제 답변을 찾고있는 모든 사람들에게 여기를 살펴보십시오. "기억을 다루는 것"과 같은 수백 가지 답변이 있음을 알았지 만 아무 말도하지 않습니다. 이것이 다른 사람을 도울 수 있기를 바랍니다 ...

다음을 변경하십시오

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
    UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];
    [imageView setImage:image];
    [self dismissModalViewControllerAnimated:YES];
}

이미지를 설정하기 전에 모달보기가 기각되도록 ...

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
    UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];
    [self dismissModalViewControllerAnimated:YES];
    [imageView setImage:image];
}

아마도 당신은 편집되지 않은 이미지를 사용하고있을 가능성이 높으며, 그들은 1400x1300의 전체 날려서 앱을 충돌시킬 것입니다. iPhone Native 320x480 해상도에 사진을 크기를 조정하는 것이 좋습니다. 문제를 해결해야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top