2017-10-22 6 views
0

MKMapView를 추가 할 때까지 완벽하게 작동하는 앱을 개발해 왔습니다. 지도에서 더 넓은 지역을 탐색하고지도로보기 컨트롤러를 닫고 새보기 컨트롤러를 추가하면 Xcode에서 "iPhone에 연결이 끊어졌습니다"라는 오류 메시지가 나타나면서 앱이 중단됩니다.MKMapView 메모리 문제와 관련하여 앱이 이상하게 작동하지 않습니다.

온라인으로 검색 한 결과 메모리 문제 여야합니다. 그래서 나는 단지 AppDelegate에있는 MKMapView의 한 인스턴스를 저장하고 다음과 같이 ViewDidDisappear 후 청소 포함, MKMapView의 메모리를 청소하는 방법을 많이 사용하고 있습니다 :

if let annotations = self.mapView?.annotations { 
     self.mapView?.removeAnnotations(annotations) 
    } 

    if self.mapView?.mapType == MKMapType.standard { 
     self.mapView?.mapType = MKMapType.hybrid 
    } else if self.mapView?.mapType == MKMapType.hybrid { 
     self.mapView?.mapType = MKMapType.standard 
    } 

    self.mapView?.delegate = nil 
    self.mapView?.removeFromSuperview() 
    self.mapView = nil 

더욱 이상한 내가 추적 할 때이다 메모리 사용량은지도에서 300 + MB까지 올라갈 수 있으며 더 많은 것을 탐색하면서 스스로를 청소하는 것처럼 보입니다. 그러나, 거기에 약 200mb 왼쪽보기 컨트롤러를 닫고 한 UIIMageView 함께 다른 간단한 VC 추가 할 때 "연결이 끊어진"것은 충돌합니다.

나는 메모리 관리에 새로운 해요하지만 난 악기 프로필 여기 스크린 샷을해야합니까 :

그냥 여기 이미지처럼

instrument profile

. A 세대는 MKMapView와 함께 뷰 컨트롤러를 제시 한 지점이며 B 세대는 뷰를 닫은 지점입니다. 메모리 사용량이 분명히 떨어 졌는데 이는 좋은 것입니다. 그러나 다른보기 컨트롤러를 클릭하자 마자 Xcode와 마찬가지로 연결이 끊어집니다.

저는 이것에 대해 많은 연구를했으며, 지금은 무엇을 해야할지 잘 모릅니다. 너희들이 여기서 나를 도울 수 있다면 고마워 !!

답변

0

Google지도로 전환하면 문제가 해결되었습니다 ...